当前位置: 技术问答>linux和unix
用shell脚本如何将log文件中的内容导入到一个新的log中
来源: 互联网 发布时间:2017-05-22
本文导语: #!/bin/sh read stuff SERVER=`echo $stuff |awk ‘{print $4}’` echo $stuff >> /var/log/login_log/$SERVER.log 在网上找到这样的一个脚本。但是运行不成功。 我想实现的功能是把syslog中包含patrol和10.188.238.40这样的ip字段的数据都导入...
#!/bin/sh
read stuff
SERVER=`echo $stuff |awk ‘{print $4}’`
echo $stuff >> /var/log/login_log/$SERVER.log
在网上找到这样的一个脚本。但是运行不成功。
我想实现的功能是把syslog中包含patrol和10.188.238.40这样的ip字段的数据都导入到一个新的log中
日志中会有如下的信息,我就想把这一整行的信息都导入到新的log中。
Jul 4 14:51:31 zmng2 sshd[26192]: Received disconnect from 10.188.238.40: 11: The user disconnected the application
Jul 4 14:51:40 zmng2 sshd[26429]: Accepted password for patrol from 10.188.238.40 port 3651 ssh2
各位大神,这个该如何实现?
ps:我对shell脚本只是懂那么一丢丢。最好来点注释。谢谢了。
read stuff
SERVER=`echo $stuff |awk ‘{print $4}’`
echo $stuff >> /var/log/login_log/$SERVER.log
在网上找到这样的一个脚本。但是运行不成功。
我想实现的功能是把syslog中包含patrol和10.188.238.40这样的ip字段的数据都导入到一个新的log中
日志中会有如下的信息,我就想把这一整行的信息都导入到新的log中。
Jul 4 14:51:31 zmng2 sshd[26192]: Received disconnect from 10.188.238.40: 11: The user disconnected the application
Jul 4 14:51:40 zmng2 sshd[26429]: Accepted password for patrol from 10.188.238.40 port 3651 ssh2
各位大神,这个该如何实现?
ps:我对shell脚本只是懂那么一丢丢。最好来点注释。谢谢了。
|
grep patrol messages | grep "192.168.191.254">newlog
导出所有 既包含patrol又包含这个IP 的行
grep messages "192.168.191.254">newlog
导出所有 包含这个IP 的行,不管有没有patrol
导出所有 既包含patrol又包含这个IP 的行
grep messages "192.168.191.254">newlog
导出所有 包含这个IP 的行,不管有没有patrol
|
grep "192.168.191.254" oldlog > newlog
红色部分是需要查找的字符串,由于点号是特殊字符,所以要使用斜线转义。
蓝色部分是从哪个文件里面查找
绿色部分是查找的结果保存到哪个文件
|
grep -E "patrol|10.188.238.40" oldlog > newlog
红色和蓝色部分表示需要查找的字符串,而且是“或”的关系,只要包含其中某一个字符串,就把它找出来。
中间那个竖线就表示“或”
-E 是开启扩展正则,让它能够支持“或”这种表达方式