tr - 逗号后不能创建空格?

时间:2014-10-23 15:51:05

标签: unix tr

我目前正在使用

tr '\n' ', ' < test.txt

我正在使用的是

test1
test2
test3

变为

test1 ,test2 ,test3 ,

但是我需要在逗号后面加上空格。在逗号之后,tr似乎无法识别任何内容。

1 个答案:

答案 0 :(得分:0)

tr单个字母转换为单个字母。对于多字符替换,您需要使用其他工具,如sed,awk或Perl。

特别是,如果您阅读man page for tr。你会看到tr的第二个参数实际上是一个集合,而不是一个多字符串,因为tr的第一个参数只是一个字符,第二个参数的第二个字符被忽略了。具体来说,手册页中的引用是相关的:

  

SET2的多余字符被忽略。

你可能在逗号之前看到空格的原因是你的行有一个尾随空格。

这是一个基于Perl的解决方案:

perl -p -e 's/\n/, /' test.txt