我已经创建了一个awk脚本并像这样使用它:
# grep -E "[PM][IP][DO][:S]" file.txt | awk-script
如何修改awk脚本以包含grep命令(搜索“PID:”或“MPOS”?)的工作量?
awk-script是:
#!/usr/bin/awk -f
/Sleeve/ {
printf("%8d, %7d, %7.2f, %7.2f, %7.2f\n", $5, $6, $7, $30, $31)
}
/Ambient/ {
printf("%8d, %7d,,,, %7.2f, %7.2f\n", $5, $6, $7, $8)
}
/MPOS:/ {
printf("%8d, %7d,,,,,, %5d, %5d\n", $4, $5, $2, $3)
}
答案 0 :(得分:2)
如果您只想搜索PID:
或MPOS
,可以说如果您不在该行中找到它们,则需要跳过以下规则:
#!/usr/bin/awk -f
!/PID:|MPOS/ {
next
}
/Sleeve/ {
printf("%8d, %7d, %7.2f, %7.2f, %7.2f\n", $5, $6, $7, $30, $31)
}
/Ambient/ {
printf("%8d, %7d,,,, %7.2f, %7.2f\n", $5, $6, $7, $8)
}
/MPOS:/ {
printf("%8d, %7d,,,,,, %5d, %5d\n", $4, $5, $2, $3)
}
答案 1 :(得分:2)
我在busybox
(在Bash的Ubuntu上)尝试了 litb的回答,这对我有用。为了测试,我使用以下shebang匹配我有busybox
的符号链接:
#!/home/username/busybox/awk -f
使用以下方式运行测试:
./awk-script file.txt
我也在busybox sh
下进行了测试(PATH=/home/username/busybox:$PATH
虽然没有必要)但它在那里工作。
当你说“我还有悲伤”时。那是什么意思?您收到错误消息或结果不正确吗?
顺便说一句,除非你在搜索角色的所有排列,否则你可以像这样做你的grep:
grep -E "(PID:|MPOS)" file.txt