编写从管道获取输入的 bash 脚本

编写从管道获取输入的 bash 脚本

我总是输入这样的内容:

cat some_list_of_elements.txt | awk '{print "\047"$1"\047"}' | paste -d, -s

它从文件中获取一系列项目,将每个项目用引号引起来,然后将它们合并到以逗号分隔的列表中。

我不想把所有这些东西都输入出来,而是想做这样的事情:

cat some_list_of_elements.txt | csl

如何csl在 bash 中实现?有没有办法将其作为别名?

答案1

alias csl="awk '{print "\047"$1"\047"}' | paste -d, -s"

然后就cat whatever | csl

这似乎有效,但实际上并不有效,原因见下文评论。请参阅评论以了解实际、有效的解决方案 :)

顺便说一句,这不是特定于 ubuntu 的,所以如果我的答案不适合您,请随时在 stackoverflow.com 上发帖。

答案2

这对我有用:

alias csl='awk '\''{print "\047"$1"\047"}'\'' | paste -d, -s'

感谢@roadmr 为我指明正确的方向。

相关内容