我需要使用sed從文件中只刪除包含給定單詞的行。但是如果我的文件有50行,我只需要看前30行。如何在包含匹配詞的文件中刪除給定間隔的行?
我知道:
sed '1,30d' f.txt
將刪除文件的前30行。
和:
sed '/Text/d' f.txt
將刪除包含匹配的詞「文本」的文件中的所有行。
我該如何結合這兩個來解決我的問題? 謝謝。
我需要使用sed從文件中只刪除包含給定單詞的行。但是如果我的文件有50行,我只需要看前30行。如何在包含匹配詞的文件中刪除給定間隔的行?
我知道:
sed '1,30d' f.txt
將刪除文件的前30行。
和:
sed '/Text/d' f.txt
將刪除包含匹配的詞「文本」的文件中的所有行。
我該如何結合這兩個來解決我的問題? 謝謝。
看來您要刪除文件中前30行內包含Text
的行。
你可以說:
sed '1,30{/Text/d}' f.txt
如果你想刪除第30行和含Text
線在文件的任何地方,你可以說:
sed '1,30d;/Text/d' f.txt
您錯過了「-i」選項:
sed -i '1,30{/Text/d}' f.txt
sed "/Text/ d;30 q" f.txt
應該會更快,尤其是在巨大的文件IF你30後丟棄行如果沒有以前的解決方案是最好的
謝謝你,你是對的,我忘了{} – Steffi