【问题标题】:output "sed" command to variable将“sed”命令输出到变量
【发布时间】:2012-02-15 23:27:03
【问题描述】:

我正在 Ubuntu 上编写一个 shell 脚本并使用 sed 命令替换所有出现的TOREPLACE 带有newline \n

sed 's/TOREPLACE/\n/g' /home/user/source.txt

这很好用,但我真正想做的是 将上面的输出分配给一个变量:

TTT=$(sed 's/TOREPLACE/\n/g' /home/user/source.txt)
echo $TTT

echo $TTT 没有提供预期的输出...当我尝试替换时 TOREPLACE 与其他字符串一切正常。

当我将sed 重定向到一个文件时,所有换行符替换也起作用。

上面的变量赋值有什么问题?

【问题讨论】:

标签: shell ubuntu sed terminal newline


【解决方案1】:

我认为变量赋值没有任何问题。尝试 echo "${TTT}"

【讨论】:

    【解决方案2】:
    echo "$TTT"
    

    应该也可以正常工作。

    【讨论】:

    • 确实是问题所在 :) 这似乎有很大的不同......谢谢你们!!!
    • @JoeFrizz:你应该几乎总是引用变量。
    猜你喜欢
    • 1970-01-01
    • 2021-02-04
    • 2011-12-31
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-16
    • 2017-12-15
    相关资源
    最近更新 更多