如何在awk中为每个循环执行命令?
发布时间:2020-12-13 19:18:13 所属栏目:Linux 来源:网络整理
导读:我正在使用awk来拆分二进制流,我可以将每个部分都放到这样的for循环中. for(i = 1; i = NF; i) 我不想将每个字段转换为文本或参数,而只是将其直接传递给命令. 我想找到这样的东西,for(i = 1; i = NF; i)system(“decode”) 但这显然不起作用.解码没有输入.
我正在使用awk来拆分二进制流,我可以将每个部分都放到这样的for循环中.
for(i = 1; i <= NF; i) 我不想将每个字段转换为文本或参数,而只是将其直接传递给命令. 我想找到这样的东西,for(i = 1; i< = NF; i)system(“decode”) 但这显然不起作用.解码没有输入. 如何进行解码以接收循环中的每个字段? 解决方法
这不适合你吗?
for(i=1;i<=NF;i++) print $i | "decode" close("decode") 它将每个字段(或您的情况下的字节)发送到连接到“decode”程序的管道. 之后,关闭“解码”管道以强制刷新该管道上的所有数据. 您可以在https://www.gnu.org/software/gawk/manual/html_node/Redirection.html上阅读有关gawk重定向的更多信息 如果要对每个字节执行“decode”,只需在每次迭代中关闭管道: for(i=1;i<=NF;i++) { print $i | "decode" close("decode") } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |