1

我想将第二个逗号后的 IP 地址替换为 92.2.11.1:

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
4

3 回答 3

1

您可能指的是第二个逗号。

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

解释:搜索非逗号,一个逗号,更多非逗号,一个逗号。in 部分\(...\)被自身替换(\1),该行的其余部分被丢弃并打印新字符串。

于 2012-10-10T11:18:26.113 回答
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
于 2012-10-10T11:21:34.630 回答
1
awk -F, '$3="92.2.11.1"' OFS=, file
于 2012-10-10T11:26:11.720 回答