我只想搜索列以03:
(hours) 开头的行,但在使用下面的命令时,显示 value 包含的所有行03
。这是一个例子,文件中的数据非常大。
awk '{print $2 " " $3}' logfile | grep "03:"
数据:
05 00:03:12 0.05
05 00:28:03 0.05
05 00:33:12 0.09
05 03:03:12 0.09
05 03:08:12 0.05
05 03:13:12 0.05
05 03:18:12 0.05
05 03:23:12 0.027
答案1
如果像示例数据中那样,小时之前总是有空格,则可以使用grep
:
grep " 03:" file
答案2
awk '$3 ~ /^03/ {print $2 " " $3}' logfile
应该做你想做的事; $3 ~ /^03/ 检查输入文件 ($3) 中的第三列是否以 (^) 03 开头。其余部分是 awk 模式匹配语法 (~ /pattern/)。请注意,这也节省了使用 grep 的开销(在编程术语中是 1 个循环而不是 2 个循环)。
答案3
#awk '{print $2 " " $3}' logfile | grep "03:" | uniq -u