bash – 如何管道进入awk脚本
发布时间:2020-12-15 21:07:38 所属栏目:安全 来源:网络整理
导读:我有这个awk脚本: #!/usr/bin/awk -fBEGIN {IGNORECASE=1} /nVidia/ {inner=1;pci=$1} /(corr|fatal)err-/ {if (inner) print pci,$1,$2,$3,$4,$5,$6,$7} $0=="" {inner=0} 是否有一个语法总是管道sudo lspci -vvv到这个脚本?我每次运行脚本时都要输入sud
我有这个awk脚本:
#!/usr/bin/awk -f BEGIN {IGNORECASE=1} /nVidia/ {inner=1;pci=$1} /(corr|fatal)err-/ {if (inner) print pci,$1,$2,$3,$4,$5,$6,$7} $0=="" {inner=0} 是否有一个语法总是管道sudo lspci -vvv到这个脚本?我每次运行脚本时都要输入sudo lspci -vvv | ./checkpci.我知道我可以创建第二个脚本来启动第一个脚本,但我认为这很麻烦,并且想知道这样做的正确方法. 顺便说一句,我的显卡崩溃时遇到了一些问题,并且在某些设备上看到了UncorrErr标志,是否有人参考了这意味着什么或如何进一步排除故障?现在我只是定期运行这个脚本来查看错误何时出现在lspci中以查看是否存在时间关联. 解决方法
这应该适合你:
#!/usr/bin/awk -f BEGIN { IGNORECASE = 1 cmd = "sudo lspci -vvv" while ((cmd | getline) > 0) { if ($0 ~ /nVidia/) {inner = 1; pci = $1} if ($0 ~ /(corr|fatal)err-/) {if (inner) print pci,$7} if ($0 == "") {inner = 0} } close(cmd) } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |