我有一个名为tags.txt
的文件,每行包含一个标记,例如:
workflow
blogging
writing
使用"Advanced Bash Scripting Guide"我编写了一个Bash脚本,它接受这些行并将它们变成单行逗号分隔列表。
tagsraw=$(<tags.txt)
tags=${tagsraw//$'\n'/', '}
如何在一行代码中执行此操作?
每当我尝试将(<tags.txt)
代替tagsraw
放在第二行,以多种形式,我得到一个&#34;糟糕的替代&#34;错误。是否可以在Bash中在没有中间变量的情况下执行此操作?
答案 0 :(得分:3)
您可以使用awk
:
tags="$(awk -v OFS=', ' -v RS= '{$1=$1}1' tags.txt)"
echo "$tags"
workflow, blogging, writing