【发布时间】:2021-06-24 09:54:57
【问题描述】:
我有一个包含以下内容的文件 sedTest.txt:
sdjalsh ABC 123 ashfaladhs
ldjkasf ABC 234 dadas afsf
dafsafs ABC 876 asf dasfaf
我只想输出123、234、876。
我可以使用
cat sedTest.txt | sed s"/.*ABC \([0-9]+\).*/\1/"
我是这样用的,因为通常有 grep 而不是 cat,在这种情况下它可能是
grep ABC sedTest.txt | sed s"/.*ABC \([0-9]+\).*/\1/"
这在这里没有什么意义,但这是日志的典型用法。
我想知道:为什么使用 [0-9]+ 不起作用?我希望得到与 [0-9]* 相同的结果,但似乎没有任何内容被替换(并且打印了未更改的内容)。
【问题讨论】:
标签: sed