[+] kolejkowanie operacji na kilku plikach

Potrzebujesz pomocy z C, C++, perl, python, itp.
Awatar użytkownika
lis6502
Member
Posty: 1798
Rejestracja: 05 listopada 2008, 20:14
Lokalizacja: Miasto Szybowców

[+] kolejkowanie operacji na kilku plikach

Post autor: lis6502 »

Problem wydaje mi się dość banalny, jednak nie umiem go sam rozwiązać - szukając na forum też nic ciekawego nie znalazłem.
Mianowicie, jestem sobie w takim katalogu:

Kod: Zaznacz cały

lis6502@Nexus:~/data/modok/pax/flashback$ ls
flashback-ascenseur.mod  flashback-game_over.mod  flashback-options1.mod
flashback-ceinturea.mod  flashback-holocube.mod   flashback-options2.mod
flashback-chute.mod      flashback-introb.mod     flashback-reunion.mod
flashback-desintegr.mod  flashback-jungle.mod     flashback-taxi.mod
flashback-donneobjt.mod  flashback-logo.mod       flashback-teleport2.mod
flashback-fin2.mod       flashback-memoire.mod    flashback-teleporta.mod
flashback-fin.mod        flashback-missionca.mod  flashback-voyage.mod
Chcę posłuchać, wpisuję:

Kod: Zaznacz cały

xmp *
i wszystko działa. Co do składni nikt nie ma zastrzeżeń, wiadomo o co chodzi.

Teraz podobna sytuacja. Jestem w takim oto katalogu:

Kod: Zaznacz cały

lis6502@Nexus:~/Desktop/cta$ ls
16-beat.zip         felix.zip                  nightbeat.zip
2pac.zip            ferdinand.zip              night_shade.zip
4-mat.zip           feri.zip                   nonametm.zip
911.zip             finn_renard.zip            nopedope.zip
to tylko fragment, w każdym razie chcę sobie oszczędzić klikania i piszę:

Kod: Zaznacz cały

lis6502@Nexus:~/Desktop/cta$ unzip *
Archive:  16-beat.zip
caution: filename not matched:  2pac.zip
caution: filename not matched:  4-mat.zip
caution: filename not matched:  911.zip
Rozumiem to tak, że poprzez wildcard * przekazywane są wszystkie nazwy plików do jednego programu (jednej instancji?) unzip. Jedyne logiczne rozwiązanie jakie mi się nasuwa to popełnić jakiś skrypt, który wylistuje obecny katalog gdzieś do tempa i tam wyłuska z listy same nazwy plików, po czym pojedynczo, po kolei (może w jakiejś pętli for...next) przekaże je unzipowi.
Czy jest jakieś prostsze rozwiązanie?
Awatar użytkownika
markossx
Beginner
Posty: 489
Rejestracja: 26 maja 2007, 16:01
Lokalizacja: Polska

Post autor: markossx »

Taki myk:

Kod: Zaznacz cały

unzip \*.zip
Awatar użytkownika
lis6502
Member
Posty: 1798
Rejestracja: 05 listopada 2008, 20:14
Lokalizacja: Miasto Szybowców

Post autor: lis6502 »

Mówiłem że to banalne xD. A jak mam rozumieć taki zapis?
* każdy
[abcdxyz] któraś z liter
[a-z] któraś z liter alfabetu
itp, standardowe operatory wyrażeń regularnych.
z '\' spotkałem się tylko przy używaniu znaków zastrzeżonych, np cd o\'rly, mkdir moje\ dane itp.
Awatar użytkownika
markossx
Beginner
Posty: 489
Rejestracja: 26 maja 2007, 16:01
Lokalizacja: Polska

Post autor: markossx »

Tyle man o tym:

Kod: Zaznacz cały

The  backslash  before  the  asterisk  is  only  required if the shell
expands wildcards, as in Unix;  double  quotes  could  have  been  used instead
:shock:
Awatar użytkownika
lis6502
Member
Posty: 1798
Rejestracja: 05 listopada 2008, 20:14
Lokalizacja: Miasto Szybowców

Post autor: lis6502 »

Kod: Zaznacz cały

lis6502@Nexus:~/Desktop/cta$ man wildcard
Brak podręcznika dla wildcard
lis6502@Nexus:~/Desktop/cta$ man backslash
Brak podręcznika dla backslash
lis6502@Nexus:~/Desktop/cta$ man \
> xD     
podręcznik czego?
Awatar użytkownika
markossx
Beginner
Posty: 489
Rejestracja: 26 maja 2007, 16:01
Lokalizacja: Polska

Post autor: markossx »

Kod: Zaznacz cały

Man unzip
ODPOWIEDZ