我想從基於我設置的IP範圍的文件中刪除多個IP條目。從變量生成IP
防爆文件:
15.12.168.192 13.13.168.192 23.12.168.192 23.15.168.192 等等
我想僅設置範圍區域,下面的腳本。
#!/bin/bash
# RANGE
START=192.168.12
END=192.168.13
##collecting the last two digit from START and END
first=`echo $START | sed 's/^.*\(.\{2\}\)$/\1/'`
last=`echo $END | sed 's/^.*\(.\{2\}\)$/\1/'`
## echo both
echo $first
echo $last
for ip in 192.168.1.{$first..$last}; do
echo "$ip"
## conversion of the IPs.
echo $ip | sed -e '/\n/!G;s/\([^.]*\)\.\(.*\n\)/&\2.\1/;//D;s/\n//'
done
即使仍然有對文件(grep -v)的最後一步 - 我已經停留在這個階段;我知道,這是一個推測語法....
這是該行:
for ip in 192.168.1.{$first..$last}; do
echo "$ip"
這是利用$first
和$last
產生,讓我煩惱,每個IP地址。
'first'可以更簡單地用'first = $ {START ## *。}來設置。類似於'last'。 – chepner
反轉八位字節的更可讀方式是「IFS =」。閱讀b c d <<<「$ ip」;回聲「$ d。$ c。$ b。$ a」'。 – chepner