在Bash中为管道中的多行变量添加双引号
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Bash中为管道中的多行变量添加双引号相关的知识,希望对你有一定的参考价值。
我在变量中有一个多行变量,例如
This is
a variable
它通过多个管道命令,在某些时候,我想添加双引号,所以它成为
"This is
a variable"
我尝试使用awk
和print
这样做,因为我在网上和这里找到了一些答案,但它要么没有打印,要么打印变量的名称,要么只打印"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中为管道中的多行变量添加双引号的主要内容,如果未能解决你的问题,请参考以下文章
如何删除 jq 输出中的双引号以在 bash 中解析 json 文件?