1. 哪位高手给我解释一下这个命令的含义:ifconfig br0 |grep HWaddr |awk'{print $nf}'>>ip.txt
截取你桥接那块网卡的MAC地址
ifconfig br0 #显示br0桥接的网络信息
br0 Link encap:Ethernet HWaddr 00:1b:24:85:e1:61
inet addr:192.168.0.68 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:46 errors:0 dropped:0 overruns:0 frame:0
TX packets:66 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4096 (4.0 KB) TX bytes:7751 (7.5 KB)
grep HWaddr #因为显示的信息很多所以,我们只需要找到我们需要的条目
br0 Link encap:Ethernet HWaddr 00:1b:24:85:e1:61
awk '{print $NF}' #一条awk语句,意思就是print 打印 $NF <-这是awk里的一个内置变量,代表最后一列也就是 00:1b:24:85:e1:61 ,awk默认以空格为分隔符,所以最后一列就是mac地址
>> ip.txt 最后把截取的内容追加到一个叫ip.txt的文本文件里。
2. awk '{print $2}' 这个命令是什么意思
linux中shell命令段awk '{print $2}'的意思是选取并输出第二列的数据。
AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一。这种编程及数据操作语言的最大功能取决于一个人所拥有的知识。awk经过改进生成的新的版本nawk,gawk,现在默认linux系统下日常使用的是gawk,用命令可以查看正在应用的awk的来源(ls -l /bin/awk )
linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
(2)awk过滤ip扩展阅读:
linux优点:
1、Linux由众多微内核组成,其源代码完全开源;
2、Linux继承了Unix的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括TCP/IPv4、TCP/IPv6和链路层拓扑程序等,且可以利用Unix的网络特性开发成出新的协议栈;
3、Linux系统工具链完整,简单操作就可以配置出合适的开发环境,可以简化开发过程,减少开发中仿真工具的障碍,使系统具有较强的移植性;
参考资料来源:
网络-Awk
网络-linux命令
3. 怎样用awk,sed等抽取日志中的IP
因为不知道你的日志格式,可以参考:
ifconfig eth0 |awk -F '[ :]+' 'NR==2 {print $4}'
4. netstat -ant | awk '/^tcp\>/{split($5,ip,“:”) 求详细解读
^以上命令应该没有结果,因为没有输出语句。
netstat-ant
查找主机中所有 tcp 连接。
netstat-ant|awk'/^tcp>/'#^行开版头;>单词结尾
将结果用 awk 处理权,只匹配 tcp 开头的行。
netstat-ant|awk'/^tcp>/{split($5,ip,":")}'
将匹配的内容的第 5 字段(字段分隔符为空白)使用 split 切分,切分规则是以 : 分隔,并将分隔的内容保存在数组 ip 中。
5. 使用awk分别将ip地址的每个段取出来怎么写谢谢…
|这样可否:
echo"192.168.3.120"|awk-F'.''{print$1" "$2" "$3" "$4}'
or
var1=$(awk-F'.''{print$1}')
var2=$(awk-F'.''{print$2}')
var3=$(awk-F'.''{print$3}')
var4=$(awk-F'.''{print$4}')
or
echo"192.168.3.120"|awk-F.'{printf("var1=%svar2=%svar3=%svar4=%s",$1,$2,$3,$4);}';echo
6. 请给出Linux中eth0的IP地址和广播地址的指令,需使用cut、awk、grep、sed指令。
第一种方法:使用grep和cut取值
第二种方法:使用grep和awk(默认分隔符为空格)取值内
第三种方法:使容用grep和awk(多分隔符)
第四种方法:使用sed和awk
第五种方法:使用grep和awk(多分隔符与加号+)
第六种方法:awk (分隔符及取行)
第七种方法:grep 网卡文件
第八种方法:head取行 awk分割
如果有什么不懂的话可以去看看《Linux就该这么学》这本书,非常适合新手学习Linux。
7. 哪位高手知道这个命令的意思: ifconfig br0 |grep HWaddr |awk ‘{print $NF}' >> ip.txt
ifconfig 是linux或UNIX下查看网络配置信息的命令,类似windows cmd下的ipconfig
ifconfig br0 是返回bro的网络配置信息,
“|”为管道符,将版上一个命令权返回的信息“传”给下一个命令。
grep HWaddr :通过管道符获得ifconfig br0返回的信息并过虑出包含“HWaddr”的行。
awk为unix/linux下的一种文本处理工具,功能强大,
此处的awk ‘{print $NF}'是将前面grep过滤出来的信息的每行的最后一个空格后的内容打印到屏幕上。
">>"为重定向符,将屏幕输出重定向到文件。
>> ip.txt:即将以上组合命令产生的本应该打印到屏幕的内容输入到ip.txt文件中。
8. shell脚本如何提取ip地址最后一位,如192.168.1.100中的100
ipAddr=192.168.1.100
echo${ipAddr##*.}
这样就提取出了100。袭
Bash中字符串的掐头去尾方法:
# 表示掐头,% 表示去尾
助记:键盘上# 在前面,键盘上% 在后面。
单个#或%的表示最小匹配,双个#或%表示最大匹配。
也就是说,当匹配有多种方案的时候,选择匹配最大长度还是最小长度。
用awk也可以:
ifconfigeth0|awk'/inetaddr/{print$2}'|awk-F.'{print$NF}'
9. awk问题 把iplib.txt 中的第一列 输入到ip.txt gawk -F '{print $1 > "ip.txt"}' iplib.txt
awk里类似C语言环境,不能像shell中这样直接重定向。
改一下:
gawk '{print $1}' iplib.txt >ip.txt
或者用内system()语句执行容shell重定向命令:
gawk '{system("print "$1" >ip.txt")}' iplib.txt
10. IP=`echo $IP_PORT|awk -F ":" '{print $1}'` PORT=`echo $IP_PORT|awk -F ":" '{print $2}'`
变量来 IP_PORT 是个字符串,形式应自该是:前面是IP地址,后面是端口号,中间是冒号:分隔。
通过这两句分别取出这个字符串中的IP地址和端口号PORT。
awk 通过 -F":" 指定分隔符为冒号将字符串 IP_PORT 分割为两个字段
print $1 打印第一个字段,即IP地址
print $2 打印第二个字段,即端口号