我想将以下字符串附加到文件中所有行的末尾。我尝试在网络上搜索,但找不到任何相关内容。我也使用了下面的命令
sed -i -e "s?$?\$dest \$port \$fgt --pin '\$limit' --nogui;"? ipv42
有人可以帮我吗我想将以下字符串附加到文件中所有行的末尾
$dest $port $fgt --pin '\$limit' --nogui;
答案1
一种方法是使用heredoc,反斜杠来抑制变量扩展。我们正在做的是提供一个完全引用的字符串(多行)heredoc。
sed -f - <<\_SED_ inputfile
s?$?$dest $port $fgt --pin '$limit' --nogui;?
_SED_
答案2
您的 sed 脚本几乎可以工作,除了:
- s 命令的最后一个分隔符
?
, 应位于引号内 - 你需要
$
在搜索部分转义,因为 shell 解释$?
为最后执行的命令的退出状态。
正确命令:
sed -i -e "s?\$?\$dest \$port \$fgt --pin '\$limit' --nogui;?" ipv42