Strona 1 z 1
Pytanie o interpretację polecenia
: 31 października 2007, 17:05
autor: dracorp
Witam
Na początku taka linijka:
Kod: Zaznacz cały
$echo "siala baba mak" | sed 's/mak/brukiew/' ${PWD:+| sed 's/baba/chlop/'}
sed: nie można odczytać |: Nie ma takiego pliku ani katalogu
sed: nie można odczytać sed: Nie ma takiego pliku ani katalogu
sed: nie można odczytać s/baba/chlop/: Nie ma takiego pliku ani katalogu
Wg. mnie polecenie powinno się wykonać i na ekranie powinienem dostać
siala chlop brukiew. Pytanie co robię źle?
: 31 października 2007, 19:18
autor: Gość
echo "siala baba mak" | sed 's/mak/brukiew/;s/baba/chlop/'
Pozdrawiam
: 31 października 2007, 19:32
autor: dracorp
[quote="Hagal"]echo "siala baba mak" | sed 's/mak/brukiew/]Ej chłopie żeś się rozpędził zbytnio, jakoś teraz dojrzały me oczy, że nie napisałem zbytnio czego oczekiwałem.
A po za tym Hagal w sed masz opcję -e.
Chodzi o ten fragment:
Jeśli zmienna PWD jest ustawiona to podstaw inne polecenie w potoku. Zgodnie z man bash "Podstawianie parametrów" powinno zadziałać.
Ale z jakiś powodów to co po :+ jest interpretowane jako argument poprzedniego polecenia a nie dalsza cześć linii poleceń.
ps.Wszystko to co napisałem to tylko przykład.
: 31 października 2007, 20:46
autor: Gość
dracorp pisze:A po za tym Hagal w sed masz opcję -e.
No co Ty nie powiesz :mrgreen:
dracorp pisze:Zgodnie z man bash "Podstawianie parametrów" powinno zadziałać.
Ale z jakiś powodów to co po :+ jest interpretowane jako argument poprzedniego polecenia a nie dalsza cześć linii poleceń.
No to jeszcze musisz poczytać.
Na razie masz na zachętę :
Kod: Zaznacz cały
echo "siala baba mak" | sed 's/mak/brukiew/]
Pozdrawiam
: 01 listopada 2007, 13:25
autor: wojtekz_
Hagal pisze:(...)
Na razie masz na zachętę :
Kod: Zaznacz cały
echo "siala baba mak" | sed 's/mak/brukiew/]
Pozdrawiam[/quote]
Tylko rodzaj czasownika się nie zgadza, musisz jeszcze nad tym popracować ;-)
Pozdrawiam
: 01 listopada 2007, 15:44
autor: Gość
[quote="wojtekz_"]Tylko rodzaj czasownika się nie zgadza, musisz jeszcze nad tym popracować ]
To już nie ja - sam tak chciał, to ma :-D
Pozdrawiam
: 05 listopada 2007, 14:18
autor: dracorp
[quote="Hagal"]echo "siala baba mak" | sed 's/mak/brukiew/]
Nie dopatrzyłem apostrofu i ;, z tym -e to wyskoczyłem

[quote="Hagal"]echo "siala baba mak" | sed 's/mak/brukiew/]
Mniej więcej o to chodzi. Głównie chodzi mi o wykonanie w potoku dodatkowego polecenia jeśli jakaś zmienna jest określona. I coś takiego
za bardzo nie zadziała bo na początku jest interpretowana to jako dodatkowo opcja a dopiero później rozwijane to jest. Jedyne co może przejść to
ale należy jakoś zamknąć potok.
ps. Jakiś pomysł na przekierowanie stderr w potoku do innego polecenia (stdout normalnie działa)? Na razie mam
Kod: Zaznacz cały
polecenie 2>&1 > /dev/null | inne_polecenie
Tylko chciałbym nie przekierowywać stdout do /dev/null. Jakieś pomysły?