使用Unix shell脚本删除空白
我想写一个shell脚本。它将接收一个.txt文件并输出一个.csv文件 txt文件是一个二维文本数组。但每个条目之间的空格数未知 例如,输入的文件可能如下所示:使用Unix shell脚本删除空白,shell,unix,Shell,Unix,我想写一个shell脚本。它将接收一个.txt文件并输出一个.csv文件 txt文件是一个二维文本数组。但每个条目之间的空格数未知 例如,输入的文件可能如下所示: Name Subject Grade Fred English A James French B Mark Maths D 我希望它看起来像 Name,Subject,Grade Fred,English,A James,French,B Mark,Maths,D 在伪代码中,它将是:
Name Subject Grade
Fred English A
James French B
Mark Maths D
我希望它看起来像
Name,Subject,Grade
Fred,English,A
James,French,B
Mark,Maths,D
在伪代码中,它将是:
有什么想法吗?您可以一步完成:
sed 's/ */,/g'
它不是shell,而是一个perl单行程序:
perl -pi -e 's| +|,|g' filename.txt
tr-s'',
为什么不用“+”而不是“*”@MrTux它就是不起作用:+
是所谓的“扩展”正则表达式的一部分。需要编写sed-r的/+/,/'
才能工作。
tr -s ' ' , < input-file.txt