我有n个文件,比如:
文件1:
1aaa
2eee
Test XXX
Hanna
Lars
文件2:
1fff
2ddd
3zzz
Test XXX
Mike
Charly
我想从所有 n 个文件中删除“Test XXX”之前的所有行。 要删除的行数因文件而异。
我的想法:
for file in 1 :n
do
pos=grep -n "Test XXX" file$file
sed -i "1:$pos-1 d" file$file >new$file
done
最佳答案
这应该适合你:
sed -i '1,/Test XXX/d' file1
sed -i '1,/Test XXX/d' file2
或者只是
sed -i '1,/Test XXX/d' file*
关于bash - 如何从多个文件中删除特定字符串之前的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7416921/