[英]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]
是匹配o
或a
的括號表達式。
查看在線sed
演示:
sed '/^w[oa]w/d' <<< "wow 1
waw 2
wiw 3"
輸出: wiw 3
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.