我总是输入这样的内容:
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 为我指明正确的方向。