有时候在Linux的命令行里,需要在一堆文本文件中查找特定的关键字。一个一个文件打开找很麻烦的,有时候在Linux找到了日志log文件,只想查看含有某字符的某些行,但是如果日志太大,如果打开找会很麻烦,这里介绍一个在路径下或文件夹下查找含有关键字的文件,还有查看某文本文件里查找含有特定的关键字的前后几行的命令。
在/home/lwq/andrew里,有a.txt, b.txt, c.txt
find path -name 'file_name' | xargs grep 'key_words'
find /home/lwq/andrew -name 'a.txt' | xargs grep 'apple3'
find /home/lwq/andrew -name '*' | xargs grep 'cherry2'
cat path+file_name | grep -A 3 'apple1'
cat /home/lwq/andrew/a.txt | grep -A 3 'apple1'
cat /home/lwq/andrew/a.txt | grep -B 3 'apple5'
cat /home/lwq/andrew/a.txt | grep -C 3 'apple3'