比如说,要找出/var/log目录下所有.log文件中含error的内容的行,并将其合并到一个文件中。这种场景就很实用,也很常见。 这个时候可以使用一个简单的命令完美的完成这个任务。
[root@linux ~] find /var/log -name '*.log' | xargs cat | grep -i 'error' > all_error.log
- 1. 先用find命令,找到所有*.log文件
- 2. 再用xargs cat命令来一起读取
- 3. 接着用grep -i 'error'来获取特定的行
- 4. 最后用输出重定向到all_error.log文件中