求在LINUX下,查找某一目录下文件的内容包含指定字符的文件名

发布网友 发布时间:2022-04-23 02:11

我来回答

5个回答

热心网友 时间:2022-05-02 19:33

给定字符串查找文件名,例如,查找当前目录下所有文件中包含字符串"Linux"的文件,可以使用如下命令:egrep Linux *

举例:testfile、testfile1中都还有Linux,查找结果如下所示:

$ egrep Linux * #查找当前目录下包含字符串“Linux”的文件 

testfile:hello Linux!  

testfile:Linux is a free Unix-type operating system. 

testfile:Linux. 

testfile1:helLinux!

testfile1:This a Linux testfile! 


扩展资料

Linux egrep命令执行效果与"grep-E"相似,使用的语法及参数可参照grep指令,与grep的不同点在于解读字符串的方法。

egrep是用extended regular expression语法来解读的,而grep则用basic regular
expression 语法解读,extended regular expression比basic regular
expression的表达更规范。



热心网友 时间:2022-05-02 20:51

我看着这题很长时间了,本来不想回答了,但看到提交的答案,我不能不回答,有更简单的方法:

命令:grep [选项参数]  “要查找的内容字符串"  路径

-r :递归查找子目录

-l :只显示文件名

./ :当前目录路径

[root@-xl PythonTest]# grep -rl "python" ./
./stu.py
./gen.py
./test.py
./recursion.py

觉得不够好,那就替换掉文件名前的路径

[root@-xl PythonTest]# grep -rl "python" ./ |sed "s;./;;g"
stu.py
gen.py
test.py
recursion.py

热心网友 时间:2022-05-02 22:26

直接敲 grep "你的内容" -R . (后面有个点表示当前目录,你也可以加绝对路径)

热心网友 时间:2022-05-03 00:17

find . |xargs grep abc
find . -type f |xargs grep abc
find . -name "*.txt"|xargs grep abc

热心网友 时间:2022-05-03 02:25

很简单,一个命令搞定。比如你要找所有/home下文件名里包含 .a 的所有文件,终端输入:
# find /home -name *.a*
终端就会都显示出来~
记得有些文件夹只有root用户有权限,所以sudo一下
$ sudo find /home -name *.a*

求采纳,自己常用,100%正确~

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com