我最近开始学习了sed
。我做到了
$seq 10 | sed '/[^049]/d'
我正期待着
4
9
10
作为输出。但我得到了
4
9
我在理解这个正则表达式时在哪里犯了错误?
答案1
1
号码中的匹配10
,[^049]
因此将其删除。
答案2
如果您确实想显示包含“0”、“4”或“9”的行,请按以下步骤操作:
seq 10 | sed -n '/[049]/p'
指示-n
sed
不是打印任何行。该p
命令指示sed
打印与/regex/
或者,您始终可以使用grep
:-)
seq 10 | grep -E "[049]"