我有一个目录/ home/usr/AAA,我存储了一些文件和文件夹
/home/usr/AAA/Mark/15456/sdfsd/VIP_Info_sdfsdf
/home/usr/AAA/Jack/23678/gwewd/VIP_Info_wetwod
...
Run Code Online (Sandbox Code Playgroud)
我可以使用一些bash脚本
cd /home/usr/AAA
find -maxdepth 4 -mindepth 4 -type d -iname "VIP_Info*" -printf '%f\n'
Run Code Online (Sandbox Code Playgroud)
回国
VIP_Info_sdfsdf
VIP_Info_wetwod
Run Code Online (Sandbox Code Playgroud)
获取我感兴趣的特定文件夹名称,即以VIP_Info开头的文件夹名称.
但是,我想进入每个文件夹并进行一些操作.
请问如何获取每个文件夹的完整路径?
使用$PWD和%P格式:
find -maxdepth 4 -mindepth 4 -type d -iname "VIP_Info*" -printf "$PWD/%P\n"
Run Code Online (Sandbox Code Playgroud)
或者,使用%p并传递当前目录的全名find,而不是将其默认为工作目录.
find /home/usr/AAA -maxdepth 4 -mindepth 4 -type d -iname "VIP_Info*" -printf "%p\n"
Run Code Online (Sandbox Code Playgroud)
请注意-print并且-printf "%p\n"是等效的.
由于您没有使用任何其他提供的过滤器,find并且您似乎知道要查找的目录的深度,因此您可以简单地使用glob模式而不涉及find:
printf "%s\n" /home/usr/AAA/*/*/*/VIP_Info*/
Run Code Online (Sandbox Code Playgroud)