Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Chyba tak...
diff plik1.txt plik2.txt | grep ">" | sed -e 's/>/\\\\SERWERO/g' -e 's/\//\\/g' > plik_roznic.txt
Jak dobrze rozumiem, wszędzie maja być backslashe a przed ścieżką \\SERWERO...
Do poczytania...
http://wiki.bash-hackers.org/syntax/quoting
http://ss64.com/bash/sed.html
Offline
Dzięki wielkie za info :) trochę męczyłem te backslashe....
ale oczywiście teraz wpadł mi motyw typu...
ZMIENNA="\\SERWERO" diff plik1.txt plik2.txt | grep ">" | sed -e 's/>/\\$ZMIENNA/g' -e 's/\//\\/g' > plik_roznic.txt
efektem w pliku plik_roznic.txt jest
$ZMIENNA\katalog1\plik1
próbowałem juz apostrofów...ale to samo...
Offline
Ale żeś sie uparł na tą zmienną....
ZMIENNA="\\SERWERO" diff plik1.txt plik2.txt | grep ">" | sed -e "s/>/\\$ZMIENNA/g" -e 's/\//\\/g' > plik_roznic.txt
Offline
...właśnie to sprawdzam....wynik jest okej...tylko wystawia mi zmienną z jednym slashem...
\SERWERO\katalog1\plik1
Offline
Trzeba troche pokombinować...
ZMIENNA="\\\\SERWERO" diff plik1.txt plik2.txt | grep ">" | sed -e "s/>/$ZMIENNA/g" -e 's/\//\\/g' > plik_roznic.txt
Offline
Niestety dalej to samo...
ZMIENNA="\\SERWERO" diff plik1.txt plik2.txt | grep ">" | sed -e "s/>/$ZMIENNA/g" -e 's/\//\\/g' > plik_roznic.txt
a zmienna ma mieć dwa slashe...jak wyżej...
no wynik ma być
\\SERWERO\katalog1\plik1 \\SERWERO\katalog1\plik2 \\SERWERO\katalog1\plik3
a teraz dostaje:
\SERWERO\katalog1\plik1 \SERWERO\katalog1\plik2 \SERWERO\katalog1\plik3
( kiedy w ZMIENNA umieszcze "\\\\SERWERO".
A zmienna ma zawsze maskę "\\SERWERO"
Ostatnio edytowany przez debbie (2016-06-22 15:50:44)
Offline
ZMIENNA="\\\\SERWERO" diff plik1.txt plik2.txt | grep ">" | sed -e 's/\//\\/g' | sed -e "s/>/$ZMIENNA/g" > plik_roznic.txt
Może ta druga podmianka coś chrzani...
Offline
a do tego co ustawia wartość ZMIENNA masz dostęp na poziomie kodu źródłowego?
Przerabiacie sedowe wężoskrypty, a wystarczy zmienić zmienić słabe cytowanie na silne (wybaczcie to tłumaczenie xD)
" < ten gość jest słaby
' < a ten silny (dlatego lisu jak coś cytuje to z pałerem xD)
Już tłumaczę różnicę:
Powłoka (bash) parsuje to co jest w słabym cytowaniu, czyli: rozwija $VAR do treści jaką VAR niesie, tłumaczy bzdury typu \r\n na ruchy kursora and so on
Silne cytowanie traktuje wszystko co jest między iskierkami dosłownie.
Najprościej to ogarnąć na localhoście:
lis6502@Nexus ~/tmp/skrypt $ echo "$HOSTNAME" Nexus lis6502@Nexus ~/tmp/skrypt $ echo '$HOSTNAME' $HOSTNAME
Stąd przy treści \\SERWERO powłoka umieszcza \SERWERO w ZMIENNA, bo: pierwszy backslash escapeuje(jest jakiś polski odpowiednik tego słowa? xD) następny znak, a jeśli następnym znakiem także jest backslash, to wychodzi z tego pojedynczy backslash.
debbie uchyl rąbka tajemnicy i powiedz co Ty tam tak naprawdę rzeźbisz, to prościej będzie Ci pomóc, bo mam wrażenie że robicie doktorat nad oftopem ;)
Offline
Hejka :)
Generalnie potrzebuję listować nowopojawiające się pliki do pliku.
Np sprawdzam teraz wskazany katalog ( mam liste plików )
Sprawdzam za pół godziny katalog ( doszło 5 plików i 2 katalogi ) -> więc wynik wrzucam do pliku.
Katalog ten jest udostępniony dla użytkowników w sieci.
Dlatego potrzebuję plik w którym będę miał listę nowododanych plików w formacie:
\\SERWERO\katalog1\plik1 \\SERWERO\katalog1\plik2 \\SERWERO\katalog1\plik3
Jeżeli chodzi o skrypt do zrobiłem jeszcze plik konfiguracyjny ze zmiennymi.
i jest tam:
ZMIENNA="\\SERWERO"
- czyli generalnie ktoś może zmienić nazwę jeśli będzie chciał...ale slashe muszą być dwa...
( chyba żeby zostawić tylko - "SERWERO" a slashe ogarniać w skrypcie? )
Do tego chciałbym aby to co się wrzuci do pliku:
\\SERWERO\katalog1\plik1 \\SERWERO\katalog1\plik2 \\SERWERO\katalog1\plik3
było w formie linku do kliknięcia ( czyli musiałbym jeszcze wtranżolić tam htmla )
No i generalnie taka akcja..
Offline