이름의 두 번째 위치에 특정 문자가 있는 파일 찾기

이름의 두 번째 위치에 특정 문자가 있는 파일 찾기

??11*또는 와 같은 패턴을 가진 파일을 어떻게 찾을 수 있습니까 ??52*? 두 개의 알 수 없는 숫자와 두 개의 특정 숫자로 시작하고 다른 것은 중요하지 않습니다.

972966220_56_2_1_L2_P.jpg       971051472_69_2_1_L2_P.jpg
311952411_45_2_1_L2_P.jpg       150221433_0_2_1_L2_P.jpg
363117383_0_2_1_L2_P.jpg        190638610_78_2_1_L2_P.jpg
752944572_42_2_1_L2_P.jpg       253138391_61_2_2_L2_P.jpg
841542999_33_1_1_L1_P.jpg       911539144_72_2_1_L2_P.jpg
741545726_38_2_1_L2_P.jpg       143145435_70_2_1_L2_P.jpg
742956510_40_2_1_L2_P.jpg       683275391_42_2_2_L2_P.jpg
773278422_0_2_1_L2_P.jpg        732877320_69_2_2_L2_P.jpg
562472955_48_2_1_L2_P.jpg       871074372_81_2_1_L2_P.jpg
582113611_18_2_2_L2_P.jpg       351728725_61_2_1_L2_P.jpg
662989573_0_2_1_L2_P.jpg        482146746_26_2_2_L2_P.jpg
140657988_48_2_1_L2_P.jpg       571769896_56_2_2_L2_P.jpg
142414844_33_2_1_L2_P.jpg       641513381_72_2_1_L2_P226.jpg
571769896_0_2_1_L2_P.jpg        231514166_60_2_1_L2_P.jpg
653099122_37_2_1_L2_P.jpg       370649838_41_2_2_L2_P.jpg
712937376_34_2_1_L2_P.jpg       790498538_64_2_1_L2_P.jpg
193178710_35_2_1_L2_P.jpg       792887777_106_2_1_L2_P.jpg
611926710_49_2_1_L2_P.jpg       280234330_70_2_1_L2_P.jpg
613034344_44_2_1_L2_P.jpg       461587572_93_2_1_L2_P.jpg

답변1

find -name??11*또는 와 함께 사용할 수 있습니다 ??52*. 정규 표현식은 아니지만 충분할 수 있습니다.

find . -name '??11*' -o -name '??52*'

메모는 ?숫자가 아닌 것과 일치할 수 있습니다. 숫자를 일치시키려면 를 사용하십시오 [0123456789]. 형식은 일반적으로 유용하지만 로케일에 따라 다릅니다 [[:digit:]]. 문제의 파일 이름이 확실히 [0-9]사용되는 것을 볼 수 있으므로 이것이 최선의 선택입니다. 예:0123456789[0123456789]

find . -name '[0123456789][0123456789]11*' -o -name '[0123456789][0123456789]52*'
# or
LC_ALL=C find . -name '[0-9][0-9]11*' -o -name '[0-9][0-9]52*'

하지만 제공한 파일 이름 중 일치하는 항목이 하나도 없습니다.

관련 정보