linux-grep命令-查找多个条件的
遇到一个问题:
查看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"吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
另外一个问题,请教:
-----------------------
#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判断,不会, 哎 ....
直接用egrep命令就不需要加参数了,用起来挺方便的:
sudo netstat -antp|egrep "ssh|nginx|fpm|mysql"
top -n1 -b|egrep "nginx|php-fpm|mysqld"
expect
请大家帮忙!!!
真是太感谢了!
解决了我的问题.
小弟刚刚学习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