有什么办法可以删除文件中的特定行吗?例如我有8个文件,名称为Crest_001.dat,Crest_002.dat,...,Crest_008.dat。现在我想从所有这些文件中删除从10到30000的行。现在,我在vim中手动打开每个文件并使用以下命令:“:10,30000d”
这需要很多时间,因为我的文件很大!我有什么办法可以用脚本来做这个吗?
答案 0 :(得分:2)
如果您的sed支持-i
,则可以使用sed
sed -i.bak '10,30000d' Crest_00{1..8}.dat
原始文件将使用扩展程序.bak
否则你需要使用循环在每个文件上运行sed
并将输出重定向到另一个文件名。
答案 1 :(得分:0)
for $ in $(find。-name'Crest * .dat'-print 2> / dev / null) 做 sed -i '10,30000d'“$ i” 完成