我正试图弄清楚(根本没有临时文件)如何从文件中剪切(例如,从文件中剪切第2-10行)。
基本上,我需要删除CSV中已经输入但保留标题的条目。
我相信有人足够聪明
最佳答案
您可以使用ed
,标准编辑器:
ed -s file.csv < <(printf '%s\n' '2,10d' 'wq')
< <(printf ...)
将驱动ed
执行以下操作:使用命令
2,10d
保存(
w
)并用q
退出(退出wq
)。您的
ed
版本可能会抱怨wq
;在这种情况下,请给它两个单独的命令(w
然后q
),如下所示:ed -s file.csv < <(printf '%s\n' '2,10d' 'w' 'q')
否则,必须的
sed
方式:sed -i '2,10d' file.csv
这与
ed
方式类似,只是sed
不是真正的文件编辑器:它使用(幕后)临时文件,因此在技术上不满足您的要求。关于linux - 截取文件中某些行的巧妙方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26684298/