用于从文件中删除特定行的脚本

时间:2014-01-24 03:29:09

标签: bash vim

有什么办法可以删除文件中的特定行吗?例如我有8个文件,名称为Crest_001.dat,Crest_002.dat,...,Crest_008.dat。现在我想从所有这些文件中删除从10到30000的行。现在,我在vim中手动打开每个文件并使用以下命令:“:10,30000d”

这需要很多时间,因为我的文件很大!我有什么办法可以用脚本来做这个吗?

2 个答案:

答案 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” 完成