awk -F ' *\t' '{print $1 ","}'
Ou:
sed $'s/ *\t.*/,/'
Eu tenho essa linha
Siouxsie Sioux Siouxsie Sioux ...
Sylvia Tobias Sylvia Tobias ...
Sydney Urshan Sydney Urshan ...
Club Drummer (uncredited) Club Drummer (uncredited) ...
Com o awk eu imprimo a primeira guia da coluna separada e adiciono uma,
awk -F "\t" '{print $1","}'
está ok, mas eu vejo espaço em branco no final, então eu uso sed
awk -F "\t" '{print $1","}'|sed -r 's/(^[^[:blank:]]+[[:blank:]]+[^[:blank:]]+)[[:blank:]]+//'
Com isso ok, mas remova também o segundo espaço em branco, então
Club Drummer (uncredited) ,
torne-se
Club Drummer(uncredited),
eu quero
Club Drummer (uncredited),
Então, como remover apenas o último espaço? Obrigado
Descarte os espaços à direita usando awk
em si
awk -F'\t' '{sub(/[[:blank:]]+$/, "", $1);print $1","}' file
Você pode usar printf
em vez de usar print
para contornar este problema.
$ awk '{for (i=1;i<NF;i++)printf("%s ", $i);printf("\b%s\n",",")}' file.txt
Siouxsie Sioux Siouxsie Sioux,
Sylvia Tobias Sylvia Tobias,
Sydney Urshan Sydney Urshan,
Club Drummer (uncredited) Club Drummer (uncredited),
Ou se você precisar com sed
$ sed -re 's/ +\.\.+/,/g' file.txt
Siouxsie Sioux Siouxsie Sioux,
Sylvia Tobias Sylvia Tobias,
Sydney Urshan Sydney Urshan,
Club Drummer (uncredited) Club Drummer (uncredited),
Acho que toda a operação pode ser concluída usando sed 's/^\([^\t]*\).*/,/'
...