在Bash中为管道中的多行变量添加双引号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Bash中为管道中的多行变量添加双引号相关的知识,希望对你有一定的参考价值。

我在变量中有一个多行变量,例如

This is
a variable

它通过多个管道命令,在某些时候,我想添加双引号,所以它成为

"This is
a variable"

我尝试使用awkprint这样做,因为我在网上和这里找到了一些答案,但它要么没有打印,要么打印变量的名称,要么只打印"This。这是我得到的:

    echo $list_comments \
    | awk -v k="text" '{n=split($0,a,","); for (l=1; l<=n; l++) print a[l]}' \
    | awk '/'$FILTER_COMMENT'/ {print $0}' \
    | cut -d ":" -f2 \
    | sed -e 's/[\"]/''/g' \
    | tr "\n" "\r" \
    | awk '{echo "\"$1\""}' \
    | tr -d "\n" >> app_comments.txt

如果它是相关的,我正在尝试创建一个CSV文件,所以我需要在双引号之间使用这个多行变量来保持这种方式。如果有任何补充,请告诉我。

答案

这是你的预期吗?

$ a=$(echo -e "hello\nword"); echo "${a}"
hello
word

$ a=$(echo -e "hello\nword"); echo \""${a}"\"
"hello
word"

以上是关于在Bash中为管道中的多行变量添加双引号的主要内容,如果未能解决你的问题,请参考以下文章

带有单引号和双引号的 bash 别名命令

linux bash shell 中的单引号和双引号

如何删除 jq 输出中的双引号以在 bash 中解析 json 文件?

如何删除 jq 输出中的双引号以在 bash 中解析 json 文件?

python变量常量与注释

Python中的引号用法总结