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

前端之家收集整理的这篇文章主要介绍了linux – 如何将AWK输出传递给变量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个小的bash脚本,通过使用关键字greps / awk段落.

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

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

我的代码

#!/bin/sh

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

谢谢!

解决方法

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

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

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

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

猜你在找的Linux相关文章