当前位置: 代码迷 >> 综合 >> Linux里利用grep和find查找文件内容
  详细解决方案

Linux里利用grep和find查找文件内容

热度:15   发布时间:2024-02-24 03:47:57.0

 

  1. 从文件内容查找匹配指定字符串的行:
    $ grep “被查找的字符串” 文件名
    例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件
    grep “thermcontact” /.in

  2. 从文件内容查找与正则表达式匹配的行:
    $ grep –e “正则表达式” 文件名

  3. 查找时不区分大小写:
    $ grep –i “被查找的字符串” 文件名

  4. 查找匹配的行数:
    $ grep -c “被查找的字符串” 文件名

  5. 从文件内容查找不匹配指定字符串的行:
    $ grep –v “被查找的字符串” 文件名

  6. 从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行
    find / -type f -name “*.log” | xargs grep “ERROR”
    例子:从当前目录开始查找所有扩展名为.in的文本文件,并找出包含”thermcontact”的行
    find . -name “*.in” | xargs grep “thermcontact”

1、在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行。此时,可以使用如下命令:

grep test *file 

xargs命令的格式如下。将管道左侧的标准输入,转为命令行参数hello world,传给第二个echo命令。

$ xargs [-options] [command]

真正执行的命令,紧跟在xargs后面,接受xargs传来的参数。

xargs的作用在于,大多数命令(比如rm、mkdir、ls)与管道一起使用时,都需要xargs将标准输入转为命令行参数。

$ echo "one two three" | xargs mkdir

上面的代码等同于mkdir one two three。如果不加xargs就会报错,提示mkdir缺少操作参数。

 

  相关解决方案