Я всегда печатаю такие вещи:
cat some_list_of_elements.txt | awk '{print "\047"$1"\047"}' | paste -d, -s
Он берет список элементов из файла, заключает каждый в кавычки и объединяет их в список через запятую.
Вместо того, чтобы печатать все эти вещи, я хотел бы сделать что-то вроде этого:
cat some_list_of_elements.txt | csl
Как можно csl
реализовать в bash? Есть ли способ сделать это как псевдоним?
alias csl="awk '{print "\047"$1"\047"}' | paste -d, -s"
затем просто cat whatever | csl
Кажется, это работает, но на самом деле это не так, по причинам, указанным в комментариях ниже. Посмотрите их для реальных, хороших рабочих решений:)
Кстати, это не специфично для Ubuntu, поэтому не стесняйтесь размещать сообщения на stackoverflow.com, если мой ответ не работает для вас.
Это сработало для меня:
alias csl='awk '\''{print "\047"$1"\047"}'\'' | paste -d, -s'
Спасибо @roadmr за указание в правильном направлении.