我的问题是如何格式化这样的文件:
Name 2ndName Surname 879654
Name Surname 546312
To This:
Name 2ndName,Surname,879654
Name,Surname,546312
正如您所看到的,如果sb具有2ndName,则难以在Name和2ndName之前节省空间。 我找到了这个命令:
sed -i 's/[[:space:]]/,/' file.txt
但它不包括仅留下一些空间的可能性。
答案 0 :(得分:0)
鉴于你的有限例子,这可能是你开始的地方:
awk 'NF == 4 {printf "%s %s,%s,%s\n",$1,$2,$3,$4} \
NF == 3 {printf "%s,%s,%s\n",$1,$2,$3} \
NF > 4 || NF < 3 {print "Error!"}' file.txt