Mam listę plików z kolejnymi liczbami jako sufiksami. Chciałbym skopiować tylko zakres tych plików. Jak mogę określić zakres jako część mojej komendy cp.
$ls
P1080272.JPG* P1080273.JPG* P1080274.JPG* P1080275.JPG* P1080276.JPG* P1080277.JPG*
P1080278.JPG* P1080279.JPG* P1080280.JPG* P1080281.JPG* P1080282.JPG* P1080283.JPG*
Chciałbym skopiować pliki z P1080275.JPG do P1080283.JPG z czymś podobnym do:
$cp P10802[75-83].JPG ~/Images/.
Czy jest na to sposób?
Zsh z opcją Extendedglob ma operator globowania (dopasowywania wzorca).
dopasuje nazwy plików w bieżącym katalogu, które pasują do tego wzorca (uważaj, że P1080275.JPG pasuje, ale P108020000000075.JPG również)
Z drugiej strony operator rozszerzenia ciągów {x ... y} (obsługiwany przez zsh i najnowsze wersje bash i ksh93) rozwija się do ciągów od x do y, niezależnie od tego, jakie pliki znajdują się w bieżącym katalogu.
skopiuje pasujące pliki, więc też
Ale wystąpią błędy, jeśli na przykład P1080281.JPG nie istnieje.
źródło
Czy to zadziała dla ciebie:
źródło