回答

回答

我需要一个脚本来输入一个文件并回显其内容(删除换行符),也就是所谓的“自动换行”。

我试过了:

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

但它什么也没有返回。

答案1

尝试这样做:

echo $(cat $1)

答案2

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

https://stackoverflow.com/questions/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 的方法,接近您的初始方法。

答案3

回答

tr -d `\n` </your/file

解释

是什么tr意思:

Usage: tr [OPTION]... SET1 [SET2]

Translate, squeeze, and/or delete characters from standard input,
writing to standard output.

选项-d

  -d, --delete            delete characters in SET1, do not translate

相关内容