我的输出是ip地址。我想将最后一个数字改为100。
16.04.02
我想做一个替换,将最后一个192.168.1.30
后的最后一个数字替换为.
所以我总是留下:100
我怎样才能做到这一点?
我的输出是:
192.168.1.100
我是bash的新手,并没有发现任何与这个问题有关的内容。
感谢。
答案 0 :(得分:1)
将输入和输出字段分隔符设置为点。将最后一列指定为100.
awk 'BEGIN{FS=OFS="."}{$NF=100}1' inputfile
或sed
:使用反向归档
sed -r 's/(^.*)\.(.*)/\1.100/g' inputfile
根据OP评论,这可以单独使用awk来完成。无需grep
或cut
。
ip route show dev eth0 |awk '/default/{split($3,a,".");gsub(a[4],"100");print $3}'