linux-grep命令-查找多个条件的

xuzhou2013 发布于 2014/01/08 15:30
阅读 8K+
收藏 1

遇到一个问题:

查看linux下ip

cat /etc/sysconfig/network-scripts/ifcfg-eth*

-----------------------------------------------

# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
IPADDR=192.168.2.182
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
BOOTPROTO=dhcp
HWADDR=00:0C:29:B3:B4:07
IPV6INIT=yes
IPV6_AUTOCONF=yes
ONBOOT=yes
BOOTPROTO=static

如果我只想显示 ip地址 网卡信息

IPADDR=192.168.2.182

HWADDR=00:0C:29:B3:B4:07

怎么办?

cat /etc/sysconfig/network-scripts/ifcfg-eth* | grep "IPADDR|HWADDR"吗?

加载中
1
MrZQ
MrZQ
grep -e IPADDR -e HWADDR
grep -E "IPADDR|HWADDR"
grep "IPADDR\|HWADDR"  



0
drailpl
drailpl

加-E

...| grep -E "...

0
xuzhou2013
xuzhou2013

真是太感谢了! 

解决了我的问题. 

小弟刚刚学习centos, 还有一个问题,还请高手指教

linux下的批处理

每个需要扫描的ip,放在一个文件里面(ip.txt)

ip      uname     passwd

--------------------------------------

192.168.1.3    root     centos-!!!

读取ip.txt的每一行,通过ssh,远程连接对应的linux 主机,

然后获取 远程主机的信息. uname -a / ifconfig 

保存这个信息到一个文件.

######伪代码

for text in (/root/ip.txt) do

ssh text.username password@ip 

send uname -a >>/root/uname.lst

send ifconfig   >>/rort/ifconfig.lst

done


0
xuzhou2013
xuzhou2013
请大家帮忙!!!
0
eechen
eechen
直接用egrep命令就不需要加参数了,用起来挺方便的:
sudo netstat -antp|egrep "ssh|nginx|fpm|mysql"
top -n1 -b|egrep "nginx|php-fpm|mysqld"

0
xuzhou2013
xuzhou2013

另外一个问题,请教:

-----------------------

#mac.lst  样本文件

sdfdfdfd  adfdf

192.168.2.103  adfdf

dfdfdsdfd dfdfdf

192.168.10.10

#################

问题如下:

读取样本本机, 如果这一行以数字开头, 192.168.1.103,就输出 #192.168.1.103

否则,直接输出即可.

伪代码:

for  txt in $(cat /root/2/mac.lst)

{

    if($txt 匹配 /^\\d/){

        echo "#" $txt;

     }else{

       echo $txt;

   }

}

这里是伪代码, 请高手指教, 

note : for 语句,会使用 空白进行分割, 上面的一行,也被分割了n行,郁闷!!!

我使用的是awk

cat /root/2/mac.lst | awk '{ if($0 以数字开头){print "#" $0} else {print $0}  }'

中间的if判断,不会, 哎 ....


返回顶部
顶部