【问题标题】:how to avoid read command in shell script to avoid trimming spaces [duplicate]如何避免在shell脚本中读取命令以避免修剪空格[重复]
【发布时间】:2015-04-20 05:33:41
【问题描述】:
filename="makebacio.sh"
while read line
do
echo $line >> temp.sh
done < "$filename"

我正在尝试复制一个文件的内容以复制到另一个文件,但在新文件中,所有空格都从头开始修剪。

我想复制与源文件完全相同的内容。

【问题讨论】:

    标签: linux bash shell


    【解决方案1】:

    使用空的IFS 并引用打印:

    filename="makebacio.sh"
    while IFS= read -r line
    do
    echo "$line" >> temp.sh
    done < "$filename"
    

    这将保留源文件中的所有空格。

    【讨论】:

    • 看看我的purposed duplicate 更喜欢使用IFS= read line 以便在读取命令之外保留IFS。
    • 好的。更新的答案。谢谢。
    • 拜托,因为已经有很多相同的答案,所以放弃他们并投票结束这个问题......
    • 我不会删除你的答案,但我不喜欢看到:在搜索字段中输入bash read space,SO 将提供 571 个结果。我认为你可以投票结束这个问题,一旦结束,删除你自己的帖子...
    • “我几个月前就停止了关闭,并且无意再次关闭” - 为什么?这似乎不是很有帮助。 @F.Hauri 按照建议有opened a Meta question,很高兴听到您对此的看法。
    猜你喜欢
    • 2017-10-24
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多