删除\ n并在linux中保留空间

时间:2016-07-12 14:45:22

标签: linux awk sed

我有一个文件包含\ n隐藏在每一行后面:

输入:

s3741206\n
s2561284\n
s4411364\n
s2516482\n
s2071534\n
s2074633\n
s7856856\n
s11957134\n
s682333\n
s9378200\n
s1862626\n

我想删除\ n后面的

期望的输出:

s3741206
s2561284
s4411364
s2516482
s2071534
s2074633
s7856856
s11957134
s682333
s9378200
s1862626

然而,我试试这个:

  

tr -d' \ n' < file1> file2的

但是如果没有空格和新线就会如下所示        s3741206s2561284s4411364s2516482s2071534s2074633s7856856s11957134s682333s9378200s1862626

我也尝试sed $' s / \ n // g' -i file1并且它在mac os中不起作用。

谢谢。

4 个答案:

答案 0 :(得分:2)

这是使用sed

的可能解决方案
sed 's/\\n/ /g'

答案 1 :(得分:1)

awk

awk '{sub(/\\n/,"")} 1' < file1 > file2

答案 2 :(得分:0)

到目前为止,您在问题中所描述的内容+评论没有意义。如何在每行末尾有一个带有隐藏换行符的多行文件?您显示为输入文件的内容:

s3741206\n
s2561284\n
s4411364\n
etc.

根据您的评论a single newline character "\n",上面的每个“\ n”都是不可能的。如果那些“\ n”是换行符,那么你的文件看起来就像:

s3741206

s2561284

s4411364

etc.

我真想到的只有两种可能性:

  1. 您错误地解释了您在输入文件中看到的内容 和/或使用错误的术语,你实际上有\r\n 在每一行的末尾。运行cat -v file以查看\r^M并运行dos2unix或类似内容(例如sed 's/\r$//' file) 删除\r - 您不想删除\n或者您将删除cat -v file 不再有POSIX文本文件,所以POSIX工具将展出 运行时的未定义行为。如果这对你不起作用的话 将<ul class="dropdown-menu"> 的输出复制/粘贴到您的问题中,以便我们可以 请务必查看文件中的内容。
  2. 或者:

    1. 您的文件完全可能是一个非常好的POSIX 文本文件按原样,你错误地认为你将有一个 由于某种原因问题所以也包括在你的问题中 描述您遇到的实际问题,包括一个示例 您正在该输入文件和输出上执行的命令 你得到的和你期望得到的输出。

答案 3 :(得分:-1)

您可以使用bash-native字符串替换

myButton.setEnabled(false);