我需要一个脚本来输入一个文件并回显其内容(删除换行符),也就是所谓的“自动换行”。
我试过了:
#!/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