这是sed
和RegEx初学者问题,但我无法通过Google搜索自己回答。与单引号匹配
SZENARIO
我有这样的一个纯文本文件作为命令的日志文件:
Checking version of 'make' >= 379... succeeded. (382)
Checking version of 'm4' >= 104... succeeded. (104)
Checking version of 'pkg-config' >= 15... succeeded. (25)
Checking version of 'autoreconf' >= 258... succeeded. (268)
Checking version of 'automake' >= 108... ./_autosetup: line 28: type: automake: not found
期望的结果
我想要extrac t单引号内的所有单词,与行尾的not found
结合使用。
我所做和问题
因此,我第一grep
为not found
和管道将结果sed
:(我使用的not found
的线以后,从而-n
与grep
)
grep -n "not found" < textfile.log | sed -n 's/.*\(\'.*\'\).*/\1/p'
这样我得到两个错误:首先,它在搜索时到达文件结尾第二,文件的结尾是意外的。
我也试过
grep -n "not found" < textfile.log | sed -n 's/.*[\']\(.*\)[\'].*/\1/p'
只得到单引号内的字不带引号。只有获得相同的错误。
感谢您的帮助。
感谢。这很容易:) –
不错!然后不要犹豫!只要接受答案! :) –
这适用于将'/'分隔符更改为例如'#'使它更具可读性...... –