簡體   English   中英

sed 刪除以特定模式開頭的行

[英]sed remove lines that starts with a specific pattern

我正在嘗試將 sed 命令與可與 grep 配合使用的正則表達式模式一起使用。 但它與 sed 命令不匹配。

我有一個文本文件,想刪除以(哇或哇)開頭的每一行。

這是我正在使用的命令,但它不起作用。

sed -i '/^w\(o\|a\)w/d' text.txt

我嘗試對 grep 使用相同的模式,它工作正常:

grep '^w\(o\|a\)w' text.txt 

sed 命令中的正則表達式有什么問題嗎?

使用 GNU sed ,您可以使用

sed -i '/^w[oa]w/d' file

使用 FreeBSD sed ,使用

sed -i '' '/^w[oa]w/d' file

這里, [oa]是匹配oa的括號表達式。

查看在線sed演示

sed '/^w[oa]w/d' <<< "wow 1
waw 2
wiw 3"

輸出: wiw 3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM