在行尾添加空格

时间:2014-08-27 20:04:15

标签: sed

相关:Add at the end of the line with sed

我看了这个问题,并在最顶层的答案中尝试了所有方法;他们都没有工作。每次当我尝试它们然后在Notepad ++中打开文件时,它会在新行上显示我想要添加的内容(20个空格)。

我有什么:

word       word     number    [EOL]

我想要的是什么:

word       word     number                       [EOL]

我目前最终得到的结果:

word       word     number    [EOL]
                  [EOL] 

cat -vet显示该行以

结尾
 number          ^M$

当正常使用猫时,^ M不会打印,所以我猜这是问题所在。

简而言之,如何以编程方式在这些行的末尾添加空格?我可以使用bash或powershell(更喜欢bash)。

2 个答案:

答案 0 :(得分:1)

^M表示您的文件具有DOS / Windows样式的行结尾。运行dos2unix进行转换,然后运行其中一个命令再次附加到该行。

答案 1 :(得分:0)

您的文件可能具有DOS样式的CR-NL行结尾。因此,请尝试使用此sed命令删除回车符(如果存在)并添加20个空格:

sed 's/\r\?$/                    /'