我有一个目录由不同类型的文件组成,包括具有相似名称的目录和单个文件 - 因此模式必须非常精确。
我需要使用 ls -ld 来提取目录,并查找特定的图案目录。在得到这个之后,我需要找出特定的 string_w_pattern 作为变量存储的内容。
我在sh中运行它。
已知字符串为 my_dir 且 my_prop_dir
/my_dir/string_w_pattern/my_prop_dir
string_w_pattern 由大写字母的2-3个字符组成,其中一个数字始终位于第二位。
由于 string_w_pattern 的名称相似,我尝试过关注但获得两个以上的输出。
ls -ld /my_dir/[A-Z]*[A-Z0-9]\/my_prop_dir
答案 0 :(得分:1)
shell在这里使用glob表达式语法,而不是常规expresssion。 *
将像正则表达式.*
一样展开。另外,放弃\
屏蔽您的/
。试试这个:
ls -ld /my_dir/[A-Z][A-Z][0-9]/my_prop_dir /my_dir/[A-Z][A-Z][A-Z][0-9]/my_prop_dir
要从结果中过滤掉所需的字符串,请使用sed或cut。