在我們使用linux/unix的系統過程中,查找文件中是否包含指定的字符串是我們最常用的操作之一;
同樣,刪除文本文件中包含指定字符串的行,也是我們經常遇到的。
本文將與您分享如何刪除文本文件中包含指定字符串的行。
刪除文本文件中包含指定字符串的行有多種方法:可以使用 , 或 grep命令。
下面我們將通過示例與您分享詳細的操作方法。
以下文本內容是我們測試文件的內容,我們將以以下內容為例:
<code>Hello everyone!
I share the linux tutorial with you at www.linuxcommands.site.
sed is a text processing command.
Awk is also a text processing command.
grep is also a text processing command.
They are our most commonly used tool set.
They are great./<code>
使用sed命令刪除包含指定字符串的行
在下面的示例中,我們將使用sed命令的action選項刪除文本文件中包含指定字符串的行。如下所示,我們刪除文件中包含字符串“ sed”的行。
<code>➜ ~ sed '/sed/d' text.txt/<code>
您還可以使用 sed -i '/sed/d' text.txt 直接修改文件的內容。
sed選項說明:
* -i 直接編輯文件,如果指定擴展名,則以指定擴展名保存備份。
* 動作選項:d 刪除匹配行
使用grep命令刪除包含指定字符串的行
Grep命令,我們更多地使用它來匹配文本文件中的指定字符串。Grep 命令既然可以匹配,那麼一定也可以排除,所以,這裡我們使用grep -v 選項。
在以下示例中,我們使用grep命令刪除包含指定字符串的行。如下所示,我們刪除文件中包含字符串“ grep”的行。
<code>➜ ~ grep -v "grep" text.txt/<code>
grep -v的結果,我們只需要 使用“>”將結果重定向到新文件即可。
使用awk命令刪除包含指定字符串的行
在下面的示例中,我們將使用awk命令刪除文本文件中包含指定內容的行。
<code>➜ ~ awk '!/Awk/{print $0}' text.txt/<code>
閱讀更多 閃電小白獸 的文章