Linux 如何提取具有特定模式的子文件夹名称?

Linux 如何提取具有特定模式的子文件夹名称?,linux,path,find,Linux,Path,Find,我在提取具有特定模式的子文件夹名称时遇到问题。比如说, /home/usr/VIP_00011_selected/Mark/Test /home/usr/VIP_00021_selected/Mark/Test /home/usr/VIP_02015_selected/Mark/Test ... 我想使用“find”或其他命令来提取不带“_selected”的子文件夹名称,以及类似的输出 VIP_00011 VIP_00021 VIP_02015 非常感谢。A 编辑: 可以完成部分返回的工作

我在提取具有特定模式的子文件夹名称时遇到问题。比如说,

/home/usr/VIP_00011_selected/Mark/Test
/home/usr/VIP_00021_selected/Mark/Test
/home/usr/VIP_02015_selected/Mark/Test
...
我想使用“find”或其他命令来提取不带“_selected”的子文件夹名称,以及类似的输出

VIP_00011
VIP_00021
VIP_02015
非常感谢。A

编辑:

可以完成部分返回的工作

./VIP_02015_selected

但是我不想带着./返回,也不想选择

您可以使用
cut

$> find . -type d -iname "VIP*"
./VIP_00021_selected
./VIP_00025_selected
./VIP_00011_selected

$> find . -type d -iname "VIP*" | cut -d'/' -f2 | cut -d'_' -f1,2
VIP_00021
VIP_00025
VIP_00011
使用
-d
指定分隔符,使用
-f
指定要打印的字段。在第一个管道中,使用
/
剪切并选择第二个字段(
VIP\u 00021\u selected
),在第二个管道中,剪切
\u
并保留第一个和第二个字段(
VIP
00021


您还可以指定字段范围:
-f1-3
将保留第一、第二和第三个字段。您可以组合:
-f1-3,5-10
将保持1到10,第4个除外。

非常感谢您的回答。你能解释一下什么是切割f2吗?
$> find . -type d -iname "VIP*"
./VIP_00021_selected
./VIP_00025_selected
./VIP_00011_selected

$> find . -type d -iname "VIP*" | cut -d'/' -f2 | cut -d'_' -f1,2
VIP_00021
VIP_00025
VIP_00011