Skrypty - może ktoś pomoże? :)

Dyskusja w 'Oh'Linux? Software hacking' rozpoczęta przez użytkownika Nicodem, 4 Maj 2009.

Ładowanie...
  1. Nicodem
    Offline

    Nicodem Staff Contributor

    Dołączył:
    15 Sierpień 2008
    Wiadomości:
    132
    Miejscowość:
    Warszawa
    Oceny:
    +3 / 0 / -0
    Local Time:
    05:27
    Followers:
    1
    Hej,

    temat tylko lekko związany z QNAPami ale może znajdzie się tu ktoś kto mi pomoże przy napisaniu skryptu.
    Na szybko wygląda to tak, że mam linijkę kodu :

    Kod (Text):
    1. /opt/bin/busybox find -type f -name "*.xyz" -exec moj_skrypt_python.py "{}" \; >> log.txt
    kod ten wyszukuje w katalogach wszystkie pliki z rozszerzeniem .xyz i odpala skrypt w pythonie z pelna nazwa takiego pliku jako parametr.
    Wynik zapisywany jest do log'a.

    A teraz potrzebuję to tak zmodyfikować aby po znalezieniu pliku *.xyz w danym katalogu zaczynalo się sprawdzanie czy istnieje
    plik o takiej samej nazwie, ale o innym rozszerzeniu (.txt). Jeśli tak to nic nie robimy, jeśli nie - wykonuje się na pliku .xyz skrypt python
    jak powyżej.

    Help? :D
     
  2. hypnosiss
    Offline

    hypnosiss Moderator Contributor

    Dołączył:
    6 Lipiec 2008
    Wiadomości:
    321
    Miejscowość:
    Polska, Wrocław
    Oceny:
    +28 / 0 / -0
    Local Time:
    05:27
    Followers:
    0
    QNAP:
    TS-109/209
    Ethernet:
    1 GbE
    TS-109/209 1 GbE
    sorka ze tak późno, ostatnio nie mam czasu nawet dla siebie ...
    kod zrobiłem na szybko bez testowania w jak najprostrzy sposób. Nie wiem tylko czy parametr -exec podaje wszystko w jednym argumencie do basha czy każdy znaleziony plik osobno odpala skrypt.
    Poprostu uruchmiasz komendą
    Kod (Text):
    1. /opt/bin/busybox find -type f -name "*.xyz" -exec skrypt.sh "{}" \;
    skrypt.sh:
    Kod (Text):
    1. #!/bin/sh
    2. read a
    3. FINDTXT = $(find -name "$a.txt")
    4. if ($FINDTXT); then
    5. echo "Znalazłem $FINDTXT"
    6. else
    7. echo "Nie ma txt, uruchamiam skrypt pythona"
    8. python moj_skrypt_python.py $a
    9. fi
    Trzeba by było najlepiej zastosować cut w $a żeby wydobyć nazwe bez rozrzeżenia ...
    Kod napewno ma wady, ale chciałem cie nakierować :)
     
  3. Silas Mariusz
    Offline

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    5 654
    Miejscowość:
    Nowy Sącz
    Oceny:
    +1 241 / 26 / -5
    Local Time:
    05:27
    Followers:
    22
    QNAP:
    TVS-x63
    Ethernet:
    1 GbE
    TVS-x63 1 GbE
    taki maly offtopic
    @Nicodem jak czytalem nazwe Twojego tematu to odrazu przypomniala mi sie jedna kwestia na IRCU:
    http://bash.org.pl/48640/
    tyle, ze tutaj ktos z problemami z ortografia :)

    a jesli przeklenstwa nie kłują Was w oczy to czytajcie ten:
    http://bash.org.pl/89615/
    - mnie rozwalilo :)


    a co do calych skryptow...
    hypnosiss Tobie sie spodobala chyba konsola i bash (ten na konsoli) :)
    mam racje ?
    ty uczyles sie basha majac QNAP'a czy juz wczesniej go znales?
     
  4. hypnosiss
    Offline

    hypnosiss Moderator Contributor

    Dołączył:
    6 Lipiec 2008
    Wiadomości:
    321
    Miejscowość:
    Polska, Wrocław
    Oceny:
    +28 / 0 / -0
    Local Time:
    05:27
    Followers:
    0
    QNAP:
    TS-109/209
    Ethernet:
    1 GbE
    TS-109/209 1 GbE
    Do nauki basha zmobilizował mnie mój QNAP i moje potrzeby :)
    Ale basha używam do jaichś krótkich, prostych skryptów , reszta python :p
    I to prawda spodobala mi sie konsolka :)
     
  5. Silas Mariusz
    Offline

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    5 654
    Miejscowość:
    Nowy Sącz
    Oceny:
    +1 241 / 26 / -5
    Local Time:
    05:27
    Followers:
    22
    QNAP:
    TVS-x63
    Ethernet:
    1 GbE
    TVS-x63 1 GbE
    a moze perla troche ? :>
    ja osobiscie bardziej wole perla niz pythona :)
     
  6. hypnosiss
    Offline

    hypnosiss Moderator Contributor

    Dołączył:
    6 Lipiec 2008
    Wiadomości:
    321
    Miejscowość:
    Polska, Wrocław
    Oceny:
    +28 / 0 / -0
    Local Time:
    05:27
    Followers:
    0
    QNAP:
    TS-109/209
    Ethernet:
    1 GbE
    TS-109/209 1 GbE
    na początku był perl ale niedawno uświadomiłem sobie jak lepszy jest python :p
     
Ładowanie...