私にはそのセリフがあります。
Siouxsie Sioux Siouxsie Sioux ...
Sylvia Tobias Sylvia Tobias ...
Sydney Urshan Sydney Urshan ...
Club Drummer (uncredited) Club Drummer (uncredited) ...
awkを使用して別々のタブの最初の列を印刷し、
awk -F "\t" '{print $1","}'
問題はありませんが、末尾にスペースがあり、sedを使用します。
awk -F "\t" '{print $1","}'|sed -r 's/(^[^[:blank:]]+[[:blank:]]+[^[:blank:]]+)[[:blank:]]+/\1/'
これによりトリックが行われますが、2番目のスペースも削除されます。
Club Drummer (uncredited) ,
~になる
Club Drummer(uncredited),
私の考えでは
Club Drummer (uncredited),
それでは、最後のスペースのみを削除するにはどうすればよいですか?ありがとう
答え1
awk -F ' *\t' '{print $1 ","}'
または:
sed $'s/ *\t.*/,/'
答え2
awk
それ自体を使用して末尾のスペースを削除します。
awk -F'\t' '{sub(/[[:blank:]]+$/, "", $1);print $1","}' file
答え3
printf
代わりに、print
この問題を解決できます。
$ 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),
または必要であれば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),
答え4
私は、全体の操作を以下を使用してsed 's/^\([^\t]*\).*/\1,/'
行うことができると思います。