在文件中将 \n 替换为空白

在文件中将 \n 替换为空白

我想\n用空白替换

输入file1

A\n
D\n 

file2 我想要的输出

A       
D  

我尝试了以下命令但无法替换。

cat OUT | tr '\n' ' '

答案1

很多好的答案,我将添加 sed 方式

 sed 's#\\n##g' file1 >  file2

答案2

另一种方法是仅使用第一个字符cut

$ cut -c1 < input_file 
A
D

答案3

来自帖子:

我尝试了以下命令,但无法替换,请执行需要的操作。

cat OUT | tr '\n' ' '

上述命令的问题是:tr理解\n为“换行符”

联机帮助页:

$ man tr | grep Interpreted -A 18
       SETs are specified as strings of characters.  Most represent themselves.  Interpreted sequences are:

       \NNN   character with octal value NNN (1 to 3 octal digits)

       \\     backslash

       \a     audible BEL

       \b     backspace

       \f     form feed

       \n     new line

       \r     return

       \t     horizontal tab

       \v     vertical tab

因此,要指定\n您需要指定 [反斜杠][n] 即\\n(参见上面列出的规格)。因此使用以下命令:

tr -s '\\n' ' '

cat file1并重定向( >) 到file2使用:

cat file1 | tr -s '\\n' ' ' > file2

但使用的问题tr在于它将 EVERY\和转换n为空间

所以,我建议使用sed如下:

替换命令sed( sed 's/old-string/new-string/g' in > out) :

sed 's/\\n/ /g' file1 > file2

这里只有\n(整个单词)会被转换成空格

答案4

您可以使用tr

tr -d '\\n' < input_file > output_file

相关内容