Odpowiedz na ten temat
Strona 1 z 2 1 2 OstatniaOstatnia
Pokaż wyniki od 1 do 10 z 11

  1. Dołączył
    Mar 2005
    Skąd
    Kraków / Olkusz
    Postów
    119

    Cytuj | #1

    Witajcie.

    OmniGraffle wypluwa mi w eksporcie do html'a pliki niby html ale za kazdym razem musze im dodac cos na poczatku i na koncu (proste znaczniki html'owe) - i wlasnie tu widze niepowtarzalna szanse dla automatora. Mamy paczke plikow, w kazdym dodajemy na poczatku i na koncu kilka linijek powtarzalnego kodu, po całej operacji wypluwamy zmodyfikowane.

    Generalnie można pomyśleć też szerzej - wspomniana akcja miałaby na celu dodać wpisany na stałe tekst do każdego z wrzuconych plików tekstowych przed pierwszym i po ostatnim znaku.

    Ma ktoś pomysł jak to ugryźć?
    Komputer: MBP 2.3 15" | PB G4 1.33 12" | imac G4 1.25 17"
    Odtwarzacz: iPod Nano


  2. Avatar Tomasz Wyka
    Dołączył
    Feb 2005
    Skąd
    Bełchatów, PL
    Postów
    9,988
    Wpisy
    3

    Cytuj | #2

    W Terminalu
    Kod:
    echo "To co chcesz wstawić na początek"+`cat nasz_plik.html`+"To co chcesz wstawić na koniec" > nasz_plik.html
    Komputer: MBP 15" i7 2.2 Quad 8GB 128GB SSD + 750GB HDD HiRes
    Telefon: iPhone 4S 64GB
    Tablet: iPad WiFi+3G 64GB


  3. Dołączył
    Mar 2005
    Skąd
    Kraków / Olkusz
    Postów
    119

    Cytuj | #3

    Ok - dzieki code - to jest jakiś sposób - tylko i tak wymaga to ode mnie troche wiecej pracy niż chciałbym regularnie musieć w to wkładać - czy mamy jeszcze jakieś pomysły?
    Komputer: MBP 2.3 15" | PB G4 1.33 12" | imac G4 1.25 17"
    Odtwarzacz: iPod Nano

  4. Avatar Tomasz Wyka
    Dołączył
    Feb 2005
    Skąd
    Bełchatów, PL
    Postów
    9,988
    Wpisy
    3

    Cytuj | #4

    Ok Mateo, specjalnie dla Ciebie. (poprawione)
    Kod:
    #!/bin/bash
    p='Tu wpisz to co chcesz wstawic na poczatek pliku';
    k='Tu wpisz to co chcesz wstawic na koniec pliku';
    typ="html";
    
    x=1; export x;
    y=`[replacer_a]
    Plik umieść w katalogu domowym.
    Następnie nadaj prawa uruchamiania dla tego pliku (chmod +x nazwa_pliku).

    W pliku zmodyfikuj wg. własnej potrzebny pierwsze trzy zmienne tj:
    p="Tu wpisz to co chesz wstawic na poczatek pliku";
    k="Tu wpisz to co chcesz wstaawic na koniec pliku";
    typ="html";

    p i k domyślasz się o co chodzi
    typ to zmienna określająca typ plików które będziemy zmieniać a raczej rozszerzenie plików

    następnie do jakiegoś katalogu wrzuć wszystkie pliki, które chcesz zmienić (pamiętając aby typ zgadzał się z rozszerzeniem owych plików)
    i wykonaj polecenie
    Kod:
    ~/nazwa_pliku
    Skrypt robi co następuje:
    1. Zlicza ilość plików o podanym rozszerzeniu (zmienna typ)
    2. Podaje po kolei nazwy plików pasujących do wzorca
    3. Dodaje na początku i końcu każdego z plików zadane ciągi znaków (zmienne p i k)
    Pamiętać musisz że skrypt zmienia WSZYSTKIE pliki z rozszerzeniem "typ" w katalogu w którym jesteś.
    Komputer: MBP 15" i7 2.2 Quad 8GB 128GB SSD + 750GB HDD HiRes
    Telefon: iPhone 4S 64GB
    Tablet: iPad WiFi+3G 64GB


  5. Dołączył
    Mar 2005
    Skąd
    Kraków / Olkusz
    Postów
    119

    Cytuj | #5

    code, Wielkie dzięki. Jakiego lubisz browczyka?

    Całość działa poprawnie dopóki nie chce wklejać kodu html - najprawdopodobniej musze wyescapować niektóre znaki, a nie wiem niestety jak.

    Kod:
    iMac:~/Documents/okolica mateo$ ~/dodajhtml
    /Users/mateo/dodajhtml&#58; line 2&#58; syntax error near unexpected token `<'
    /Users/mateo/dodajhtml&#58; line 2&#58; `p="<html><head><meta http-equiv="Content-Type" content="text/html; charset="UTF-8" /><title>Tytul</title></head><DIV align=center>"; '
    PS: Cały czas gdzieś mnie korci żeby zrobić to za pomocą Automatora albo applescripta
    Komputer: MBP 2.3 15" | PB G4 1.33 12" | imac G4 1.25 17"
    Odtwarzacz: iPod Nano

  6. Avatar beru
    Dołączył
    Feb 2005
    Skąd
    Kraków
    Postów
    368

    Cytuj | #6

    Cytat Napisał Mateo
    Cały czas gdzieś mnie korci żeby zrobić to za pomocą Automatora albo applescripta
    Ale po co, skoro można szybciej i łatwiej za pomocą tak potężnego narzędzia jakim iest UN*X'owa powłoka

    Zresztą, pomyślałem, że taki skrypt:
    Kod:
    #!/bin/bash
    
    for plik in *.html # zamiast *.html można wstawić dowolne inne wyrażenie określające pliki
    do
    cp $plik $plik.old;
    cat plik_z_tym_co_na_poczatku.txt $plik.old plik_z_tym_co_na_koncu.txt > $plik;
    rm $plik.old;
    echo "Plik $plik przetworzony...";
    done
    zrobi to szybciej i dla definiowalnych zbiorów plików (tylko trzeba uważać, żeby nie spaprać sobie plików z początkiem i końcem np, jak przerabiasz pliki html to daj tym dwom inne rozszerzenia, etc.)

    bash jest naprawdę mocny i warto się z nim zaprzyjaźnić
    [IMG]http://www.ghnet.pl/~beru/propaganda/text-mode-userbar.png[/IMG]
    [IMG]http://www.ghnet.pl/~beru/propaganda/nihongo-tsukai-userbar.png[/IMG]

  7. Avatar Tomasz Wyka
    Dołączył
    Feb 2005
    Skąd
    Bełchatów, PL
    Postów
    9,988
    Wpisy
    3

    Cytuj | #7

    Cytat Napisał Mateo
    code, Wielkie dzięki. Jakiego lubisz browczyka?
    Okocim mocny

    Cytat Napisał Mateo
    Całość działa poprawnie dopóki nie chce wklejać kodu html - najprawdopodobniej musze wyescapować niektóre znaki, a nie wiem niestety jak.

    Kod:
    iMac&#58;~/Documents/okolica mateo$ ~/dodajhtml
    /Users/mateo/dodajhtml&#58; line 2&#58; syntax error near unexpected token `<'
    /Users/mateo/dodajhtml&#58; line 2&#58; `p="<html><head><meta http-equiv="Content-Type" content="text/html; charset="UTF-8" /><title>Tytul</title></head><DIV align=center>"; '
    Zamiast
    Kod:
    p="<html><head><meta http-equiv="Content-Type" content="text/html; charset="UTF-8" /><title>Tytul</title></head><DIV align=center>";
    daj
    Kod:
    p='<html><head><meta http-equiv="Content-Type" content="text/html; charset="UTF-8" /><title>Tytul</title></head><DIV align=center>';
    I będzie dobrze
    Czyli zamieniasz na początku i końcu znak " na '

    Cytat Napisał Mateo
    PS: Cały czas gdzieś mnie korci żeby zrobić to za pomocą Automatora albo applescripta
    Mateo, Oba "skrypty" będą" działać a ich używanie zdecydowanie będzie szybsze i wygodniejsze niż Automator, chyba że nie masz na stałe otwartego Terminala

    Cytat Napisał beru
    Zresztą, pomyślałem, że taki skrypt:
    Również dobre rozwiązanie ale stwierdziłem, że lepiej sprawe załatwić jednym plikiem zamiast trzema.
    Komputer: MBP 15" i7 2.2 Quad 8GB 128GB SSD + 750GB HDD HiRes
    Telefon: iPhone 4S 64GB
    Tablet: iPad WiFi+3G 64GB


  8. Dołączył
    Mar 2005
    Skąd
    Kraków / Olkusz
    Postów
    119

    Cytuj | #8

    Zmieniłem i teraz jest ciekawy objaw

    Kod:
    iMac&#58;~/Documents/okolica mateo$ ~/dodajhtml
    Zaczynam zmieniac pliki *.html
    i nic...
    Komputer: MBP 2.3 15" | PB G4 1.33 12" | imac G4 1.25 17"
    Odtwarzacz: iPod Nano

  9. Avatar Tomasz Wyka
    Dołączył
    Feb 2005
    Skąd
    Bełchatów, PL
    Postów
    9,988
    Wpisy
    3

    Cytuj | #9

    O widzisz wkradł się błąd

    Ta linijka miała błąd
    Kod:
    plik=`[replacer_a]
    
    Kod:
    plik=`[replacer_a]
    Pisałem to w okolicach 4 rano

    Koniec końcem ma to wyglądać tak:
    Kod:
    #!/bin/bash
    p='Tu wpisz to co chcesz wstawic na poczatek pliku';
    k='Tu wpisz to co chcesz wstawic na koniec pliku';
    typ="html";
    
    x=1; export x;
    y=`ls -1 |grep $typ |wc -l`;
    if &#91; $y == "0" &#93;; then      
    echo "ERROR&#58; Brak plikow";
    exit;
    else
    echo "Zaczynam zmieniac pliki *.$typ";
    fi
    while &#91; $x -le $y &#93;; do
    plik=`ls -1 |grep $typ |awk 'NR == ENVIRON&#91;"x"&#93; &#123;print $1&#125;'`;
    export plik;
    echo $p`cat $plik`"$k" > $plik;
    echo $plik zmieniony;
    x=$&#91;x + 1&#93;; export x;
    done
    echo "Koniec"
    Komputer: MBP 15" i7 2.2 Quad 8GB 128GB SSD + 750GB HDD HiRes
    Telefon: iPhone 4S 64GB
    Tablet: iPad WiFi+3G 64GB


  10. Dołączył
    Mar 2005
    Skąd
    Kraków / Olkusz
    Postów
    119

    Jupi!! code, Bardzo dziękuję.

    Prócz "pomógł" wspomniany okocim przy najbliższej okazji

    beru, Twój sposób też wydaje się dobry. Jego zaletą może być to że wklejanie większych kawałków kodu zachowa formatowanie z tabulacjami itd. Wypróbuje w wolnej chwili. Dziękuję

    Pociąg do Automatora bierze się z dwóch powodów:
    1. Faktycznie nie mam otwartego terminala non stop ale to jeszcze jest do przejscia
    2. Chciałbym przygotować taką akcję działającą na zasadzie "zaznacz grupę plików i wedle makowej filozofii przeciągnij na ikonkę akcji czy wybierz z menu podręcznego i już... To mogłoby być bardzo przydatne dla zupełnie nie terminalowych.
    Komputer: MBP 2.3 15" | PB G4 1.33 12" | imac G4 1.25 17"
    Odtwarzacz: iPod Nano

Odpowiedz na ten temat
Strona 1 z 2 1 2 OstatniaOstatnia