如何在一组值后添加特定字符串

问题描述 投票:0回答:2

例如,我有以下条目的文件: -

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和主机名,然后在主机名后添加上面的字符串...

shell scripting
2个回答
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

0
投票

您可以使用简单的sed命令在每行的末尾添加一个常量字符串,

 sed -i 's/[0-9].*$/& # "TRENDS:*,netstat:netstat|netstat1|netstat2|netstat3"/g' file

正如OP所指出的,为什么你需要读取文件内的IP。更新您的问题以获得更新的答案。

© www.soinside.com 2019 - 2024. All rights reserved.