在我的模板(回调)中,有一行以"IP:"结尾,我想附加到。我尝试了这个命令:
cat callbacks | grep "IP:" | cut -d ":" -f 2 | echo $(ping -c2 host.com).
我以为我能够在最后回声一些东西,但这没有用。有人可以阐明我做错了什么。
这是我到目前为止所拥有的:
for textfile in $(find . -iname "2013*-malware-callback*.txt")
do cat callbacks | cat - $textfile > tmpfile && mv tmpfile $textfile
done
以下内容获取 $textfile
的内容,查找任何出现的 IP: 并向其附加一个 IP 地址,并将结果保存在 tmpfile 中:
v="1.2.3.4"
cat "$textfile" | sed 's/IP:/IP: '"$v/" >tmpfile
可以简化管道:
sed 's/IP:/IP: '"$v/" <"$textfile" >tmpfile
此外,如果最终目标是用修改后的版本替换$textfile,我们可以使用 sed 的就地修改功能:
sed -i.bak 's/IP:/IP: '"$v/" "$textfile"
这会修改$textfile,并且为了安全起见,保留带有扩展.bak的原始副本的备份副本。