我有一个文本文件,我想删除一些行和用空白替换它们。 示例:如果我有此文件:
- 关闭新一天的迷雾我跑
- 从新的一天的雾中消失
- 我来了
- 我打猎
醇>
我想要这个输出:
- 关闭新一天的迷雾我跑
- 我打猎
醇>
我已经尝试过这个命令,但没有空行:
sed -i "$deb,$end"'d' body.txt
(其中$ deb和$ end是行数)
对于如何使用bash,sed或awk获取此输出格式,您有什么线索吗? (我不能使用Perl)
谢谢!
答案 0 :(得分:2)
不是删除,只需用空值替换该行:
sed -i "${deb},${end}s/.*//" body.txt
答案 1 :(得分:0)
试试这个awk命令,
awk -v var1=2 -v var2=3 'NR==var1{gsub (/.*/,"")} NR==var2{gsub (/.*/,"")}1' file
示例:
$ awk -v var1=2 -v var2=3 'NR==var1{gsub (/.*/,"")} NR==var2{gsub (/.*/,"")}1' rr.txt
Off through the new day's mist I run
I hunt
OR
$ awk -v var1=$deb -v var2=$end 'NR==var1{gsub (/.*/,"")} NR==var2{gsub (/.*/,"")}1' rr.txt
Off through the new day's mist I run
I hunt