我在使用特定模式提取子文件夹名称时遇到问题。例如,
/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
非常感谢。甲
编辑:
find . -type d -iname "VIP*"
可以部分完成返回的工作
./VIP_02015_selected
但我不想以./回来,我不想_selected
答案 0 :(得分: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
),在第二个管道中,您切入_
并保留第一个和第二个字段({{ 1}}和VIP
)。
您还可以指定字段范围:00021
将保留第1,第2和第3字段。你可以结合使用:-f1-3
将保持1到10,除了第4个。