awk -v t="today" -v y="yesterday" '{if(index($0,t)||index($0

awk -v t="today" -v y="yesterday" '{if(index($0,t)||index($0,y)){print $0}}'/tmp/dailycheck/thelog
冰山下的火山 1年前 已收到1个回答 举报

sno4141886499 幼苗

共回答了20个问题采纳率:85% 举报

awk的-v选项表示给变量赋值.即,在开始阶段定义好变量t和y的值.

index() 是 awk 的内置函数,语法是这样的:
index(string, substring)
返回子字串substring在字符串string中的位置(index);若没有找到,则返回0.
awk是按行处理文本的,$0就表示当前待处理的一行内容.

所以,综上所述,意思很明确了.
就是在/tmp/dailycheck/thelog文件的每一行中查找"today"或"yesterday",如果包含这两个中的任一个,就打印该行内容到标准输出(一般是屏幕).

1年前

2
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.030 s. - webmaster@yulucn.com