Linux awk 命令检索第一行和最后一行

标签 linux awk

我正在尝试检索 awk 命令的第一行和最后一行,但我做不到。我哪里出错了。

egrep 'updateAll|update-mgr|Startup REX|configd.*UnitProperty updated' $LOG | \
  awk 'NR == 1{print $1" "$2" "$3} NR == $#{print $1" "$2" "$3}'

awk: cmd. line:2: NR == 1{print $1" "$2" "$3} NR == $#{print $1" "$2" "$3}
awk: cmd. line:2:                                    ^ syntax error

我希望第一行和最后一行构成 grep 命令的输出。

最佳答案

顺便说一句——大多数时候当你在一个命令中使用 grep 和 awk 时你做错了 ;)

awk '
{  
    if ($0~/updateAll|update-mgr|Startup REX|configd.*UnitProperty updated/) {
       c++
       l=$0
       if(c==1){print}       
    }
}
END{print l}
'  $LOG

关于Linux awk 命令检索第一行和最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56707737/

相关文章:

python - 在pycharm中运行nupichelloworld

c - 增加标准输出缓冲区大小

linux - 按特定分隔符删除字符串

sed - 通过比较 2 个文件进行左外连接

awk - 将变量分配给 cut -f 字段

java - 如何将 boolean 值从 Java 程序返回到 CentOS shell 脚本?

linux - 在 elasticsearch_exporter 容器上安装 python3 python3-pip 和 awscli

linux - 如何在远程克隆上 pull 更改

linux - 替换每个文件中的许可证通知

awk - 在 awk 语句中使用 sed