Escreva o script bash que recebe entrada do pipe

2

Eu estou sempre digitando coisas assim:

cat some_list_of_elements.txt | awk '{print "7""7"}' | paste -d, -s

Ele pega uma lista de itens de um arquivo, coloca cada um entre aspas e os mescla em uma lista separada por vírgulas.

Em vez de digitar tudo isso, gostaria de fazer algo assim:

cat some_list_of_elements.txt | csl

Como o csl pode ser implementado no bash? Existe uma maneira de fazer isso como um alias?

    
por frankadelic 09.08.2012 / 23:17

2 respostas

0

Isso funcionou para mim:

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

Obrigado ao @roadmr por me apontar na direção certa.

    
por frankadelic 14.08.2012 / 22:55
3
alias csl="awk '{print "7""7"}' | paste -d, -s"

depois, apenas cat whatever | csl

Isso parece funcionar, mas na verdade não funciona, pelas razões mencionadas nos comentários abaixo. Veja-os para soluções de trabalho boas e reais:)

A propósito, isso não é específico do Ubuntu, então fique à vontade para postar em stackoverflow.com se a minha resposta não funcionar para você.

    
por roadmr 09.08.2012 / 23:23