我正在尝试根据我设置的 IP 范围从文件中删除多个 IP 条目。
文件的前:
15.12.168.192 13.13.168.192 23.12.168.192 23.15.168.192 等...
我只想在脚本下方设置 RANGE 区域。
#!/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。