Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个AWK命令,我想在 bash 脚本中使用它。我想给AWK一个大文本文件作为变量。
AWK
我试过了:
cat $var | awk 'regex'
echo $var | awk 'regex'
awk 'regex' <<< $var
这三种形式都不起作用。当我在 shell 中尝试这些命令时,awk 'regex' file它可以工作。如何将变量作为输入传递给 AWK 命令,我不想将文件传递给AWK. 这可能与否。
awk 'regex' file
您需要引用变量以防止换行符转换为空格:
echo "$var" | awk 'regex'
试试这个 :
$ awk -v awkvar="$var" 'BEGIN{if (awkvar ~ "foobar"){print var}}' foobar
你非常接近,这也应该有效:
awk 'regex' <<< "$var"