我想要做的是搜索在子目录中以.txt结尾的所有文件,例如,我在名为 user 的目录中,该目录仅包含目录 Test1 和 Test2 。 Test1 包含t1.txt和另一个子目录 Test3 。 Test2 包含t2.txt。 Test3 包含t3.txt
我尝试使用find和egrep
find */ -name "*.txt" | egrep "*/[^/]*(.txt)$"
但它给了我
Test1/Test3/t3.txt
Test1/t1.txt
Test2/t2.txt
我想打印像
这样的东西Test1/t1.txt
Test2/t2.txt
因为我只希望文件以子目录中的.txt结尾(不是子目录的子目录) 为了得到我想要的结果,我该怎么做?提前致谢
答案 0 :(得分:2)
来自man find
:
-maxdepth levels
Descend at most levels (a non-negative integer) levels of direc-
tories below the command line arguments. '-maxdepth 0' means
only apply the tests and actions to the command line arguments.
答案 1 :(得分:0)
我相信你想要
find -mindepth 2 -maxdepth 2 -name "*.txt"
答案 2 :(得分:-1)
您可以使用awk
或basename
或dirname
awk -F/ '{print $(NF-1)}'