我使用以下 sed 命令删除除包含模式的匹配之外的所有行:
sed '/orders="Green\|orders="Orange\|orders="Blue/!d'
这可行,但如何使其更短,以便
orders="
sed '/orders="["Green","Orange","Blue"]/!d'
这样的东西匹配括号之间的所有字符, 但忽略了整个词。
sed
-E
-r
您要使用的是群组 -
\(regexp\)
所以像这样:
sed '/orders="\(Green\|Orange\|Blue\)/!d'