grep如何查找子目录下的指定文件

时间:2022-07-17 12:08:56

现在想搜索当前目录及其子目录下的所有cpp文件,我觉得应该是这样的:
grep -r "text" *cpp
可为什么提示我:grep: *cpp: No such file or directory,可是把*cpp换成*就没有问题。cp -r也有同样的问题。

我实在没耐心看man了,哪位帮帮我,在线等

7 个解决方案

#1


水木上已经有答案了:
grep -r --include=*cpp "text" .

#2


注意如果在当前目录下查找,一定别忘了加'.',否则会在标准输入里搜索。我还以为是速度太慢了呢,白等了半天。:-(

#3


再问一个类似的,想删除子目录下的某一类文件,怎么办?比如:
rm -r *.cpp 不行啊。

#4


rm -r *.cpp可以阿
如果是当前目录的子目录 可以用 
rm -r */*.cpp
另外 -r 选项是指删除目录时使用的,删除文件直接用 rm *.cpp就行
可以加一个确认选项 -f
rm -f */*.cpp
这样就不用挨项写y确认了

#5


搜索当前目录及其子目录下的所有cpp文件
可以用find来做啊
find . -name "*.cpp"

#6


搜索当前目录及其子目录下的所有cpp文件
可以find . -name "*.cpp"
搜索当前目录及其子目录下的所有包含cpp内容的文件
可以
find . -name "*"|grep xargs "cpp"

#7


可是FIND会很慢吧。

#1


水木上已经有答案了:
grep -r --include=*cpp "text" .

#2


注意如果在当前目录下查找,一定别忘了加'.',否则会在标准输入里搜索。我还以为是速度太慢了呢,白等了半天。:-(

#3


再问一个类似的,想删除子目录下的某一类文件,怎么办?比如:
rm -r *.cpp 不行啊。

#4


rm -r *.cpp可以阿
如果是当前目录的子目录 可以用 
rm -r */*.cpp
另外 -r 选项是指删除目录时使用的,删除文件直接用 rm *.cpp就行
可以加一个确认选项 -f
rm -f */*.cpp
这样就不用挨项写y确认了

#5


搜索当前目录及其子目录下的所有cpp文件
可以用find来做啊
find . -name "*.cpp"

#6


搜索当前目录及其子目录下的所有cpp文件
可以find . -name "*.cpp"
搜索当前目录及其子目录下的所有包含cpp内容的文件
可以
find . -name "*"|grep xargs "cpp"

#7


可是FIND会很慢吧。