如何在awk中为每个循环执行命令?

我正在使用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")
}

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...