Answers:
tr -d '\n' < yourfile.txt
编辑:
如果此处发布的所有命令均不起作用,则除了换行符以外,您还有其他用途。可能文件中有DOS / Windows行尾(尽管我希望Perl解决方案即使在这种情况下也能正常工作)?
尝试:
tr -d "\n\r" < yourfile.txt
如果那不起作用,那么您将不得不更仔细地检查文件(例如,在十六进制编辑器中),以找出实际上要删除的字符。
echo -n $(tr -d "\n" < yourfile.txt) > yourfile.txt
paste -sd "" file.txt
paste -sd ""
上,默认情况下在STDIN上不起作用,因此,如果要通过管道传输,请使用: (some command) | paste -sd "" -
paste -sd'\0' -
tr -d '\n' < file.txt
要么
awk '{ printf "%s", $0 }' file.txt
要么
sed ':a;N;$!ba;s/\n//g' file.txt
这页这里有一堆的其他方法去除换行符。
编辑以删除猫的虐待:)
这将删除仅包含空格的所有行(空格和制表符)
sed '/^[[:space:]]*$/d'
只需拿您正在使用的任何东西,然后将其传送到
cat filename | sed '/^[[:space:]]*$/d'
如果数据在file.txt中,则:
echo $(<file.txt) | tr -d ' '
' $(<file.txt)
'读取文件,并将内容作为一系列单词给出,然后“回声”并在它们之间留有空格。然后,“ tr”命令删除所有空格:
22791;14336;22821;34653;21491;25522;33238;
tr -d '\n' < file.txt
,这就是被接受的答案所做的事情(我很惊讶当时没有写它)。这可能只是为了表明“还有另一种方法”。
使用gedit文本编辑器(3.18.3)
\n\s
到查找场注意:这并不能完全解决OP最初的7年历史问题,但应该可以帮助一些noob linux用户(如我)从SE那里找到解决方法,并提出类似的“如何将我的文字全部显示在一行上”的问题。
当我从文件中复制代码片段时,我通常会得到这个用例,并且我想将其粘贴到控制台中而不添加不必要的新行,我最终做了一个bash别名
(oneline
如果您很好奇,我会称呼它)
xsel -b -o | tr -d '\n' | tr -s ' ' | xsel -b -i
xsel -b -o
读我的剪贴板
tr -d '\n'
删除新行
tr -s ' '
删除重复空间
xsel -b -i
将此推回我的剪贴板
之后,我将剪贴板的新内容粘贴到控制台中的一行中。
您缺少最明显,最快速的答案,尤其是当您需要在GUI中执行此操作以修复一些奇怪的自动换行时。
打开 gedit
然后Ctrl+ H,然后放入Find
文本框\n
和Replace with
空白区域, 然后填写复选框
Regular expression
并确认。