2012-01-21 116 views
2

我写在Ubuntu shell脚本,并使用 sed命令与newline \n取代的TOREPLACE 所有出现。输出“sed的”命令变量

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到一个文件中的所有换行符替换工作了。

上面的变量分配有什么问题?

+0

欢迎的StackOverflow(SO)请remeber通过灰色三角形,http://i.imgur.com/kygEP读好Q/A中的常见问题,http://tinyurl.com/2vycnvr,投票。 png,并通过按复选标记http://i.imgur.com/uqJeW.png接受最能解决问题的答案(如果有的话)。祝你们好运。 – shellter

回答

2
echo "$TTT" 

应该可以正常工作为好。

+0

确实很好,这是问题:) 这似乎提出了一个重要的区别... 谢谢两位! – JoeFrizz

+0

@JoeFrizz:你几乎总是应该引用变量。 –

2

我没有看到变量赋值的问题。尝试 echo "${TTT}"

+0

谢谢 - 问题解决了:) – JoeFrizz