Suchen Sie nach Dateien mit einem bestimmten Zeichen an der zweiten Position im Namen

Suchen Sie nach Dateien mit einem bestimmten Zeichen an der zweiten Position im Namen

Wie kann ich Dateien mit diesem Muster finden, beispielsweise ??11*oder ??52*, die mit zwei unbekannten Zahlen und zwei bestimmten Zahlen beginnen und der Rest ist egal.

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

Antwort1

find -name??11*kann mit oder arbeiten ??52*. Es ist kein regulärer Ausdruck, kann aber ausreichen.

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

Hinweis: ?Kann mit einer Nicht-Ziffer übereinstimmen. Um mit einer Ziffer übereinzustimmen, verwenden Sie [0123456789]. Die Formen [[:digit:]]oder [0-9]sind im Allgemeinen nützlich, aber lokalabhängig. Ich kann die Verwendung der betreffenden Dateinamen 0123456789mit Sicherheit sehen, daher [0123456789]ist die beste Wahl. Beispiele:

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*'

Allerdings gibt es unter den von Ihnen angegebenen Dateinamen keine einzige Übereinstimmung.

verwandte Informationen