加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

在AWK中使用管道

发布时间:2020-12-14 00:52:55 所属栏目:Linux 来源:网络整理
导读:我想要的是得到当前行的反向字符串,我试图在AWK中使用rev命令但是无法获得当前结果. $cat myfile.txtabcde$cat myfile.txt | awk '{cmd="echo "$0"|rev"; cmd | getline result; print "result="$result; close(cmd);}'abcde 我想在输出中获得edcba. 我知道
我想要的是得到当前行的反向字符串,我试图在AWK中使用rev命令但是无法获得当前结果.

$cat myfile.txt
abcde

$cat myfile.txt | awk '{cmd="echo "$0"|rev"; cmd | getline result;  print "result="$result; close(cmd);}'
abcde

我想在输出中获得edcba.

我知道还有其他一些方法来获得像$cat myfile.txt一样的反向字符串执行’rev’.在这里使用AWK是因为还有其他一些过程要做.

我错过了什么吗?

解决方法

系统功能允许用户执行操作系统命令,然后返回到awk程序.系统函数执行string命令给出的命令.它返回由执行的命令返回的状态作为其值.

$cat file
abcde

$rev file
edcba

$awk '{system("echo "$0"|rev")}' file
edcba

# Or using a 'here string'
$awk '{system("rev<<<"$0)}' file
edcba

$awk '{printf "Result: ";system("echo "$0"|rev")}' file
Result: edcba

# Or using a 'here string'
$awk '{printf "Result: ";system("rev<<<"$0)}' file
Result: edcba

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读