Bash:将函数输出到Sed参数中

时间:2014-03-12 07:55:43

标签: bash curl sed

sed -i '$a\curl -s http://whatismyip.org/' file

尝试找到拉取WAN IP并将其插入文件最后一行的方法,如上所示(当然不工作)。这将通过命令行使用。

sed -i '$a\test' file

这将在“file”中的最后一行之后插入“test”,但是如何在Sed的语法中输出函数或命令的结果?欢迎任何建议(awk,perl,bash脚本?)!

2 个答案:

答案 0 :(得分:4)

此处不需要

sed。只需使用:

curl -s http://whatsmyip.org >> your.file

请注意,bash支持>>重定向运算符,该运算符将程序的输出附加到文件

答案 1 :(得分:3)

hek2mgl向您展示了如何解决这个特定问题。要解决更一般的问题,您可以这样做:

var=$(some command line)

这将shell变量$var设置为命令的输出。然后你可以用以下内容将其替换为sed:

sed -i "\$a\\$var" file