Strona 1 z 1

[+] kolejkowanie operacji na kilku plikach

: 24 grudnia 2008, 19:28
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?

: 24 grudnia 2008, 20:01
autor: markossx
Taki myk:

Kod: Zaznacz cały

unzip \*.zip

: 24 grudnia 2008, 20:11
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.

: 24 grudnia 2008, 22:17
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:

: 24 grudnia 2008, 23:52
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?

: 25 grudnia 2008, 10:26
autor: markossx

Kod: Zaznacz cały

Man unzip