我想在文件中搜索关键字“mykey =”并打印出关键字后面的字符串。 我不能做“grep”,因为每行都很长。我只想提取关键字后面的字符串。
答案 0 :(得分:1)
假设关键字是一个单词,后跟一个空格,如下所示: mykey = myCoolValue
grep 'mykey' /your/file/here | sed -r 's/.*mykey = (^[ ]*) .*/\1/g' | grep .
答案 1 :(得分:1)
这就是我想出的。不是第一次,但有效,没有最终的grep。
grep 'mykey = ' file | sed 's/.*\(mykey = [A-Za-z]*\).*/\1/'
答案 2 :(得分:0)
如果您手头有pcregrep,可以在终端或脚本中发出此命令,以便在mykey =
$ pcregrep -o '(?<=mykey = ).+' file
正则表达式使用正向lookbehind,其中-o
仅返回匹配的文本,而不是整行。