如何在linux下用逗号替换IP地址

时间:2012-10-10 11:16:09

标签: sed tr

我希望将第二个逗号后的IP地址替换为92.2.11.1 for all:

pr,th-klmndisj,92.2.11.1
da,th-kl532disj,92.2.11.8
fr,th-klmn4532j,92.2.21.2
pr,th-klmn52sj,92.2.11.3

预期观点:

pr,th-klmndisj,92.2.11.1
da,th-kl532disj,92.2.11.1
fr,th-klmn4532j,92.2.11.1
pr,th-klmn52sj,92.2.11.1

3 个答案:

答案 0 :(得分:1)

你可能是指第二个逗号。

sed 's/^\([^,]*,[^,]*,\).*/\192.2.11.1/'

说明:搜索非逗号,逗号,更多非逗号,昏迷。 \(...\)中的部分由其自身(\1)替换,该行的其余部分被抛出并且新的字符串被打印。

答案 1 :(得分:1)

sed 's/,[^,]*$/,92.2.11.1/g' file

<强>测试

kent$  echo "pr,th-klmndisj,92.2.11.1
dquote> da,th-kl532disj,92.2.11.8
dquote> fr,th-klmn4532j,92.2.21.2
dquote> pr,th-klmn52sj,92.2.11.3"|sed 's/,[^,]*$/,92.2.11.1/g'
pr,th-klmndisj,92.2.11.1
da,th-kl532disj,92.2.11.1
fr,th-klmn4532j,92.2.11.1
pr,th-klmn52sj,92.2.11.1

答案 2 :(得分:1)

awk -F, '$3="92.2.11.1"' OFS=, file