2014-03-19 43 views
0

我有一个问题,以提取具有特定模式的子文件夹名称。例如,如何用特定模式提取子文件夹名称?

/home/usr/VIP_00011_selected/Mark/Test 
/home/usr/VIP_00021_selected/Mark/Test 
/home/usr/VIP_02015_selected/Mark/Test 
... 

我想用“查找”或其他命令,而无需“_selected”来提取子文件夹名称,而像

VIP_00011 
VIP_00021 
VIP_02015 

多谢输出。 A.

编辑:

find . -type d -iname "VIP*" 

可以做部分返回

./VIP_02015_selected 

但我不想回./我不想_selected

工作

回答

1

您可以使用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_00021_selected),在第二个中,您切入了_,并保留第一个和第二个字段(VIP00021)。

您还可以指定一个字段范围:-f1-3将保留第1,第2和第3字段。你可以结合:-f1-3,5-10将保持从1到10,除了第四。

+0

非常感谢您的回答。你能否解释一下什么是cut -f2? –

相关问题