Bash脚本删除换行符?


9

我需要一个脚本来输入文件,并回显除去换行符后的内容-可以说是“自动换行”。

我试过了:

#!/bin/bash
find $HOME '$1' | while read line; do echo "${line}"; done

但它什么也没返回。

Answers:


18

尝试这样做:

echo $(cat $1)

1
很高兴我可以帮助您找到很多获取其中一种的方法,但是下次尝试使用Google搜索更多。是我得到了作为第二个结果弹出使用的关键字bashlineendremove
gertvdijk 2012年

@gertvdijk年已经过去了,这个问题是我现在使用相似的关键字弹出的第一个结果:)
JorgeSuárezde Lis

非脚本/ cmdline方式是echo `cat some_file.ext`
nmz787 '18

7

我在stackoverflow中找到了这个相关的答案:

/programming/1251999/sed-how-can-i-replace-a-newline-n

最快的方法似乎是使用tr:

tr '\n' ' ' </your/file

或例如:

cat `find $HOME '$1"` | tr '\n' ' '

要了解有关tr命令的更多信息,请执行man tr

stackoverflow分析器包含使用sed执行此操作的方法(本来是我的首选,但sed非常面向行,并且因为字段分隔符是奥秘的,所以使其无法解释换行符)以及一种使用read和bash的方法,与您很接近初始方法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.