我有一個輸出是一個IP地址。我想改變的最後一個號碼永遠是100如何替換最後一個字符後的所有文本
192.168.1.30
我想做一個替換最後.
後,以取代最後一個數字是100
,所以我總是留下:192.168.1.100
如何可以完成這個?
我的輸出是:
echo $(ip route show dev eth0 | grep default | cut -d ' ' -f 3)
進出口新的bash和發現有關這個問題罷了。
感謝。
我有一個輸出是一個IP地址。我想改變的最後一個號碼永遠是100如何替換最後一個字符後的所有文本
192.168.1.30
我想做一個替換最後.
後,以取代最後一個數字是100
,所以我總是留下:192.168.1.100
如何可以完成這個?
我的輸出是:
echo $(ip route show dev eth0 | grep default | cut -d ' ' -f 3)
進出口新的bash和發現有關這個問題罷了。
感謝。
將輸入和輸出字段分隔符設置爲點。最後一列分配給100
awk 'BEGIN{FS=OFS="."}{$NF=100}1' inputfile
或者通過sed
:使用backrefrencing
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}'
我該如何將它實現到我的輸出中:'echo $(ip route show dev eth0 | grep default | cut -d' '-f 3)'謝謝! – irishwill200
做'ip route show dev eth0 | grep default | cut -d''-f 3 | awk'BEGIN {FS = OFS =「。」} {$ NF = 100} 1'' –
完美無缺!謝謝你百萬:) – irishwill200
這工作? 'echo $(ip route show dev eth0 | grep default%。\ d \ d).100' – Pureferret