查找特定文件和文件内的数据

查找特定文件和文件内的数据

我对 Ubuntu 还很陌生,我正在尝试掌握在目录中查找特定文件的概念,以及在另一个实例中查找文件中的特定字符串或字符串模式。我读过各种文章,找到了命令 grep 和 find。如果我走错了路,请指导我,我走对路了吗?

答案1

grep命令用于搜索文本或在给定文件中搜索包含与给定字符串或单词匹配的行。默认情况下,grep 显示匹配的行。

例子 :

grep 'yourword' filename 
grep 'yourword' file1 file2 file3
grep 'string1 string2'  filename
cat otherfile | grep 'something'
command | grep 'something'
command option1 | grep 'data'
grep --color 'data' fileName

寻找命令是 Linux 系统中最重要的和最常用的命令之一。 find 命令用于根据条件搜索和定位文件和目录列表。

例子 :

在当前工作目录中查找所有名称为 test.txt 的文件。

find . -name test.txt

在 / 目录中查找所有名称为 test 的目录。

find / -type d -name test

查找/home目录下所有名称为test.txt,且包含大写和小写字母的文件。

find /home -iname test.txt

更多帮助man grep , man find

参考地点

答案2

要在目录中搜索特定文件,

locate filename

或者

find /path/to/search -iname 'filename'

在文件中搜索特定单词

grep text /path/to/the/file

答案3

您可以通过多种方式使用find和命令:grep

寻找

  • demo.tx要在当前目录中查找文件(例如t),请使用:
    find . -name demo.txt 其中.代表当前目录。您可以根据需要进行更改。
  • 要在主目录中查找相同的文件(忽略大小写):

    find ~/ -iname demo.txt其中~/代表您的主目录。

  • 查找正在使用的目录:

    find . -type d -name <directory_name>

  • 查找所有空文件

    find . -type f -empty

  • 查找所有空目录

    find . -type d -empty

  • 查找所有大于 100 MB 的文件

    find / -size +100M

更多内容请参见man find

grep

  • 在文件中搜索给定的字符串

    grep "<string>" <filename>

  • 在多个文件中搜索给定的字符串

    grep "<string>" <file_pattern>

  • 在文件中不区分大小写地搜索给定的字符串

    grep -i "string" <file_name>

更多内容请参见man grep

答案4

最有用的版本grep可能是grep -r-r不只是搜索指定的目录:它递归地搜索所有子文件夹,因此如果您不知道将文件放在哪里,grep 会为您找到它。

相关内容