例如,
假设我有logfile.txt其中包含
“这是一个示例文本文件”
我的模式是“样本”。如何获取logfile.txt中样本旁边的单词。
最佳答案
这是使用awk的一种方法:
$ awk '{for(i=1;i<=NF;i++)if($i=="sample")print $(i+1)}' file
text
解释:
$ awk '{
for(i=1;i<=NF;i++) # process every word
if($i=="sample") # if word is sample
print $(i+1) # print the next
}' file
并sed:
$ sed -n 's/.* sample \([^ ]*\).*/\1/p' file
text
IE。
sample
之后下一个空格分隔的字符串和grep使用PCRE,并积极回味:
$ grep -oP '(?<=sample )[^ ]*' file
text
请参阅前面的说明。
关于linux - 如何使用grep,sed和awk在找到的模式后打印下一个单词?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48606867/