mitek Napisano Luty 14, 2009 Zgłoszenie Share Napisano Luty 14, 2009 Mam taki problem: W pliku tekstowym plik.txt w niektorych miejscach sa wpisane zmienne bash'owe np. .... pierwsza linia tekstu ${var1} ze zmiennymi ${var2} druga ${var3} zmienna ... W skrypcie shel'owym chcialbym zmienic wszystkie wystepowania zmiennych na ich wartosci. Probuje robic to tak: var1=XXX var2=YYY var3=ZZZ echo "var1=${var1} var3=${var3} var3=${var3}" ./sed -e "s/\${\([a-z0-9_-]*\)}/$(echo \&)/g" plik.txt Niestety nie dziala. Dla utrudnienia dodam, ze nie moge uzyc do tego awk - tylko sed wchodzi w gre. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
morg Napisano Marzec 6, 2009 Zgłoszenie Share Napisano Marzec 6, 2009 Cześć F10 i386: [morg@gburdzy ~]$ var1=XXX [morg@gburdzy ~]$ var2=YYY [morg@gburdzy ~]$ var3=ZZZ [morg@gburdzy ~]$ echo "var1=${var1} var3=${var3} var3=${var3}" var1=XXX var3=ZZZ var3=ZZZ [morg@gburdzy ~]$ ./sed -e "s/\${\([a-z0-9_-]*\)}/$(echo \&)/g" plik.txt bash: ./sed: Nie ma takiego pliku ani katalogu [morg@gburdzy ~]$ sed -e "s/\${\([a-z0-9_-]*\)}/$(echo \&)/g" plik.txt var1=XXX var2=YYY var3=ZZZ [morg@gburdzy ~] Problem możesz mieć z "./" przed komendą sed. M. Edit: Przyjrzyj się tej linii: cat ERR_*.txt |awk '{print $2}' | cut -d'I' -d'_' -f2 | cut -d'_' -f1 | cat |sort -u | sed -e '/^$/d' | cut -d'2' -f1 | cut -d'1' -f1 Przerabia plik: Tabela INPA1000: Zbyt ma?o p˘l (12 zamiast 13) Tabela INPA1000: Brak pola id_tr_def_ Tabela OPOL1000: Zbyt ma?o p˘l (34 zamiast 35) Tabela OPOL1000: Brak pola Kanal Tabela SLOP1000: Zbyt ma?o p˘l (13 zamiast 14) Tabela SLOP1000: Brak pola TrescDekretu Tabela UZYT1000: Zbyt ma?o p˘l (118 zamiast 128) Tabela UZYT1000: Brak pola Adres$UlicaPrefix Tabela UZYT1000: Brak pola Adres$UlicaNazwa Tabela UZYT1000: Brak pola Adres$NrDomu Tabela UZYT1000: Brak pola Adres$NrLokalu Tabela UZYT1000: Brak pola Adres$Poczta Tabela UZYT1000: Brak pola AdresKoresp$UlicaPrefix Tabela UZYT1000: Brak pola AdresKoresp$UlicaNazwa Tabela UZYT1000: Brak pola AdresKoresp$NrDomu Tabela UZYT1000: Brak pola AdresKoresp$NrLokalu Tabela UZYT1000: Brak pola AdresKoresp$Poczt do czytelnej (dla mnie) postaci: INPA OPOL SLOP UZYT W swoim przypadku możesz spokojnie odpuścić awk. U mnie, wyciąga 2-gą kolumnę. M. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się