我有一個文本文件,我想刪除一些行和將它們替換爲空白行。 例如:如果我有這樣的文件:BASH - 刪除行並將其替換爲空行
- 關通過新一天的薄霧我跑
- 關在新的一天的霧
- 我來
- 我打獵
我想這個輸出:
- 關通過新一天的薄霧我跑
- 我打獵
我已經嘗試過這個命令,但沒有空行:
sed -i "$deb,$end"'d' body.txt
(其中$ deb和$ end是行數)
對於如何使用bash,sed或awk獲取此輸出格式,您有任何線索嗎? (我不能使用Perl)
謝謝!
我有一個文本文件,我想刪除一些行和將它們替換爲空白行。 例如:如果我有這樣的文件:BASH - 刪除行並將其替換爲空行
- 關通過新一天的薄霧我跑
- 關在新的一天的霧
- 我來
- 我打獵
我想這個輸出:
- 關通過新一天的薄霧我跑
- 我打獵
我已經嘗試過這個命令,但沒有空行:
sed -i "$deb,$end"'d' body.txt
(其中$ deb和$ end是行數)
對於如何使用bash,sed或awk獲取此輸出格式,您有任何線索嗎? (我不能使用Perl)
謝謝!
而不是刪除的,只需更換用空值的行:
sed -i "${deb},${end}s/.*//" body.txt
嘗試此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
很好,謝謝! 我用這種格式在bash腳本中使用它(對不起,我沒有在第一篇文章中提到) 'sed -i「$ deb,$ end」's /.*//'body.txt' – debas