有什么方法可以从文件中删除特定行?例如我有8个文件是crest_001.dat,crest_002.dat,...,crest_008.dat。现在,我想从所有这些文件中删除从10到30000的行。现在,我正在用VIM手动打开每个文件,并使用以下命令:":10,30000D"
这需要大量时间,因为我的文件很大!有什么办法可以使用脚本来执行此操作?
如果您的SED支持-i
,则可以使用sed
sed -i.bak '10,30000d' Crest_00{1..8}.dat
原始文件将使用扩展.bak
否则,您需要使用循环在每个文件上运行sed
并将输出重定向到另一个文件名。
!/bin/bash
for i in $(查找。-Name'Crest*.dat'-print 2>/dev/null)做sed -i '10,30000d'"完成