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

Jav*_*oob 6 linux awk paragraph

我有一个小的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;
Run Code Online (Sandbox Code Playgroud)

谢谢!

les*_*ana 6

使用命令替换来捕获进程的输出.

#!/bin/sh

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

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

  • (几乎)总是引用每个变量引用.
  • 永远不要在变量赋值中的等号周围放置空格.