oprogramowanie : Wyrażenia regularne w życiu codziennym :)
Jeśli nie przeraża cię praca z konsolą komputerową a notorycznie w pracy brakuje ci czasu zapraszam do zapoznania się z moimi doświadczeniami zwiazanymi z wyrażeniami regularnymi przy obróbce zdjęć ślubnych :)
Zdjęcia wykonywanie klientom wystawiam na serwerze www. Klienci powinni wybierać fotki w postaci DSC_12222.JPG ale zazwyczaj dostaję gołe cyfry przez co zazwyczaj muszę dopisywać brakujące elementy co jest dość żmudne jeśli wykonać muszę ręcznie około 100 podmian :)
Z pomocą przyszedł vim i wyrażenia regularne za pomocą których można wykonywać zmiany w dokumentach.
Przy pomocy trzech wpisów w linii komend vim'a w pliku o takiej zawartości
5275,5280,5283,5291,5303,5336,5340,5346,
5348,5360,5369,5374,5377,5381,5385,5389,5390,
5392,5399,5437,5440,5450,5455,5479
otrzymuję taki, wygodny w dalszej obróbce ciąg znaków :)
DSC_5275.JPG DSC_5280.JPG DSC_5283.JPG DSC_5291.JPG
DSC_5303.JPG DSC_5336.JPG DSC_5340.JPG DSC_5346.JPG
DSC_5348.JPG DSC_5360.JPG DSC_5369.JPG DSC_5374.JPG
DSC_5377.JPG DSC_5381.JPG DSC_5385.JPG DSC_5389.JPG
DSC_5390.JPG DSC_5392.JPG DSC_5399.JPG DSC_5437.JPG
DSC_5440.JPG DSC_5450.JPG DSC_5455.JPG DSC_5479.JPG
Jak wyglądają zapytania?
W pierwszym kroku modyfikuję listę w taki sposób wystąpienie przecinka zastąpić znacznikami .JPG na końcu nazwy zdjęcia i DSC_ na początku nazwy fotografii:
:%s/,/.JPG DSC_/g
% - oznacza cały plik
s/ - oznacza początek sekcji szukanego wyrażenia
, - znak na którym wykonuję operację tworzenia nowej linii
g – powoduje zmianę każdego znalezionego znaku a nie tylko pierwszego napotkanego...
Teraz dodaję początkowe brakujące DSC_ za pomocą wyrażenia
:%s/^/DSC_/g
nowym znacznikiem jest tutaj ^ - symbolizujący początek wiersza.
Brakujący .JPG wstawiam przy pomocy komendy:
:%s/$/.JPG/g
$ - oznacza koniec wiersza, gdzie pojawić się powinno brakujące rozszerzenie.
Teraz wystarczy przekopiować fotki do właściwego katalogu. Z pomocą przychodzi mi oczywiście linuksowa potęga zwana konsolą shelową
Uprzednio przygotowuję sobie katalog do którego przekopiuję fotki:
mkdir zdjęcia_do_kopiowania
i kopiuję zdjęcia do katalogu:
cp DSC_5275.JPG DSC_5280.JPG DSC_5283.JPG DSC_5291.JPG
DSC_5303.JPG DSC_5336.JPG DSC_5340.JPG DSC_5346.JPG
DSC_5348.JPG DSC_5360.JPG DSC_5369.JPG DSC_5374.JPG
DSC_5377.JPG DSC_5381.JPG DSC_5385.JPG DSC_5389.JPG
DSC_5390.JPG DSC_5392.JPG DSC_5399.JPG DSC_5437.JPG
DSC_5440.JPG DSC_5450.JPG DSC_5455.JPG DSC_5479.JPG
zdjęcia_do_kopiowania
całość trwa dwie minuty, co w porównaniu z ręcznym wykonywaniem operacji skraca mi czas wyboru zdjęć o jakieś dwie godziny… może nie wiele… ale w tym czasie to już mam kilka skorygowanych zdjęć w gimpie :)
Komentarze są własnością ich autorów. Nie ponosimy odpowiedzialności za ich treść.
| Postujący | Wątek |
|---|---|
| marek | Napisany: 2010/4/6 20:15 Zaktualizowany: 2010/4/6 20:15 |
Webmaster ![]() ![]() Zarejestrowany: 2006/2/17 Skąd: Warszawa Postów: 72 Online! |
Od czasu zmiany w moim podejściu do pracy (pozbyłem się pracodawcy ;) zająłem się na poważnie działalnością związaną z tworzeniem stron www i pracą z serwerami linuksowymi... dlatego pojawiło się coś o konsoli ;)
|









