Linux 从文件中剪下几行的聪明方法
我试图弄清楚(根本没有临时文件)如何可以从文件中剪切出第2-10行 基本上,我需要删除CSV中已经输入的条目,但保留标题Linux 从文件中剪下几行的聪明方法,linux,bash,command-line-interface,Linux,Bash,Command Line Interface,我试图弄清楚(根本没有临时文件)如何可以从文件中剪切出第2-10行 基本上,我需要删除CSV中已经输入的条目,但保留标题 我确信有人对此足够精明您可以使用标准编辑器ed: ed -s file.csv < <(printf '%s\n' '2,10d' 'wq') 否则,强制的sed方式: sed -i '2,10d' file.csv 这与ed方式类似,只是sed不是一个真正的文件编辑器:它(在幕后)使用一个临时文件,因此在技术上无法满足您的要求。在我的Debian系统上,如
我确信有人对此足够精明您可以使用标准编辑器
ed
:
ed -s file.csv < <(printf '%s\n' '2,10d' 'wq')
否则,强制的
sed
方式:
sed -i '2,10d' file.csv
这与
ed
方式类似,只是sed
不是一个真正的文件编辑器:它(在幕后)使用一个临时文件,因此在技术上无法满足您的要求。在我的Debian系统上,如果我像您一样运行ed
,并检查strace
的功能,我看到它在/tmp/
中创建了一个临时文件来执行编辑操作。@Louis,没错,编辑器确实使用了临时文件:-D
。你是说我在回答这个问题时撒了谎<代码>;-)代码>。好吧,我只是不想我亲爱的sed
看起来不如ed
:)sed
和ed
创建一个临时文件。@Cyrus,感谢您的精彩输入!你是那个被否决的人吗<代码>:D。
sed -i '2,10d' file.csv