例如,我的文件包含以下条目: -
10.59.37.9 strvasr5267
10.59.37.11 strvasr5268
10.59.37.15 strvasr5279
10.59.37.16 strvasr5303
我希望在每个主机名之后添加# "TRENDS:*,netstat:netstat|netstat1|netstat2|netstat3"
,如: -
10.59.37.9 strvasr5267 # "TRENDS:*,netstat:netstat|netstat1|netstat2|netstat3"
是否有任何循环我可以读取ip和主机名,然后在主机名后添加上面的字符串......
答案 0 :(得分:0)
如果您只想添加字符串:
sed -i 's/$/ # "TRENDS:*,netstat:netstat|netstat1|netstat2|netstat3"/' file
如果你需要在shell循环中使用ip和hostname:
while read -r ip name; do
do_something_with "$ip" "$name"
printf '%s\t%s\t# "TRENDS:*,netstat:netstat|netstat1|netstat2|netstat3"\n' "$ip" "$name"
done
答案 1 :(得分:0)
您可以使用简单的sed
命令
sed -i 's/[0-9].*$/& # "TRENDS:*,netstat:netstat|netstat1|netstat2|netstat3"/g' file
正如OP指出的那样,为什么需要读取文件内部的IP。更新您的问题以获得更新的答案。