我正试图弄清楚(根本没有临时文件)如何从文件中剪切(例如,从文件中剪切第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/

10-12 16:12