使用Unix shell脚本删除空白区域

时间:2014-10-04 17:15:34

标签: 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

在伪代码中它将是:

  1. 搜索包含两个空格的字符串并替换为单个空格

  2. 重复1.直到不再进行任何更改(或者说只有10次)

  3. 将“”改为“,”

  4. 有什么想法吗?

3 个答案:

答案 0 :(得分:2)

您可以一步完成:

sed 's/  */,/g'

答案 1 :(得分:0)

它不是shell,而是perl one-liner:

perl -pi -e 's| +|,|g' filename.txt

答案 2 :(得分:0)

tr -s ' ' , < input-file.txt