如何使用sed,awk或gawk仅打印匹配的内容?
我看到许多示例和手册页,介绍如何使用sed,awk或gawk进行搜索和替换。 但就我而言,我有一个正则表达式,我想对文本文件运行以提取特定值。我不想进行搜索和替换。这是从bash调用的。我们来看一个例子: 正则表达式示例: .*abc([0-9]+)xyz.* 输入文件示例: a b c abc12345xyz a b c 听起来很简单,但我不知道如何正确调用sed / awk / gawk。我希望做的是从我的bash脚本中获得: myvalue=$( sed <...something...> input.txt ) 我尝试过的事情包括: sed -e 's/.*([0-9]).*/\\1/g' example.txt # extracts the entire input file sed -n 's/.*([0-9]).*/\\1/g' example.txt # extracts nothing