假设我有包含的logfile.txt "这是一个示例文本文件"
我的模式是"样本"如何在logfile.txt中获取示例旁边的单词。
答案 0 :(得分:9)
以下是使用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
即。 在sample
下一个空格分隔后的字符串
和grep使用PCRE并积极看待背后:
$ grep -oP '(?<=sample )[^ ]*' file
text
见前面的解释。