2014-03-19 41 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? –

相關問題