从文件bash中删除最后N行

时间:2015-08-31 21:26:24

标签: bash sed

我正在尝试从文件中删除一些文本,我需要使用字符串找到行号,然后从该行删除到文件的末尾。

我尝试使用sed并使用字符串作为搜索词输出到新文件,但它不保留行,它只是在一行打印整个文件,这没有用,因为脚本的其余部分依赖于行数字。 到目前为止我的代码是:

file=$(sed -ie '/<div class="col-wrapper">/,$d' < file1.txt)  
echo $file > file.txt

2 个答案:

答案 0 :(得分:2)

您可以在sed中使用内联编辑:

sed -i '/<div class="col-wrapper">/,$d' file1.txt

将更改保存到file1.txt

答案 1 :(得分:1)

这可能适合你(GNU sed):

sed -i '/<div class="col-wrapper">/Q' file1.txt