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

linux – 如何将AWK输出传递给变量?

发布时间:2020-12-13 19:45:28 所属栏目:Linux 来源:网络整理
导读:我有一个小的bash脚本,通过使用关键字greps / awk段落. 但在添加额外的代码后:set var =“(……)”它只打印一个空行而不是段落. 所以我想问一下是否有人知道如何正确地将awk输出传递给变量进行输出? 我的代码: #!/bin/shset var = "(awk 'BEGIN{RS=ORS="
我有一个小的bash脚本,通过使用关键字greps / awk段落.

但在添加额外的代码后:set var =“(……)”它只打印一个空行而不是段落.

所以我想问一下是否有人知道如何正确地将awk输出传递给变量进行输出?

我的代码:

#!/bin/sh

set var = "(awk 'BEGIN{RS=ORS="nn";FS=OFS="n"}/FileHeader/' /root/Desktop
/logs/Default.log)"
echo $var;

谢谢!

解决方法

使用 command substitution捕获进程的输出.
#!/bin/sh

VAR="$(awk 'BEGIN{RS=ORS="nn";FS=OFS="n"}/FileHeader/' /root/Desktop/logs/Default.log)"
echo "$VAR"

关于shell脚本的一些一般建议:

>(几乎)总是引用每个变量引用.>永远不要在变量赋值中将等号放在等号周围.

(编辑:李大同)

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

    推荐文章
      热点阅读