Indirect variable references czyli jak dać radę z...

Posted on Thu 03 January 2008 in Tips text {sed, awk, perl, etc.} • 1 min read

... odwołaniem się do wartości zmiennej poprzez nazwę innej zmiennej (w Bashu). Brzmi nieco popapranie ale jest proste:
t=table_cell_3
table_cell_3=24
echo "\"table_cell_3\" = $table_cell_3"``# "table_cell_3" = 24``
echo -n "dereferenced \"t\" = "; eval echo \$$t``# dereferenced "t" = 24``

Z mana postscript

Posted on Mon 29 August 2005 in Tips text {sed, awk, perl, etc.} • 1 min read

Nierzadko chcę zrobić ze strony man-a postcript albo pdf, do wydruku ma się rozumieć. Oto zaklęcie:
zcat /usr/man/man8/popa3d.8.gz | groff -t -e -mandoc -Tps - > i.ps
Finito!

Listowanie wszystkich UID w systemie

Posted on Fri 15 July 2005 in Tips text {sed, awk, perl, etc.} • 1 min read

I posortowanie od najwyższego w dół:
cut -d : -f 3 /etc/passwd | sort -rn

Mam ponad 1000 plików i chciałbym wyciągnąć z każdego nich linijki 2,4 i 6 i zapisać w innym pliku

Posted on Fri 24 September 2004 in Tips text {sed, awk, perl, etc.} • 1 min read

Mam ponad 1000 plików i chciałbym wyciągnąć z każdego nich linijki 2,4 i 6, zapisać we wspólnym osobnym pliku. Najlepiej by było gdyby wszystkie linijki były oddzielone tabulacją.


Skoro nikt się nie kwapi... to może:

cd katlog
for i in * ; do
awk '2,6{ if(NR==2||NR==4 …

Continue reading

sed, wzorce niepasujące

Posted on Fri 24 September 2004 in Tips text {sed, awk, perl, etc.} • 1 min read

Mam losowy łańcuch znaków, w którym interesuje mnie pewien element. Potrafię opisać go wyrażeniem regularnym. Jak teraz usunąć wszystko to, co nie pasuje do wyrażenia? Załóżmy, że interesuje mnie foo: echo losowyłańcuchfoobarshmoo | sed 's/foo//' usunie foo, podczas gdy ja chcę, by tylko foo pozostało. Kombinowałem trochę z !, ale nie …


Continue reading

Jak zastąpić ciąg znaków rn przez n we wszyskich plikachrekursywnie z podanego katalogu?

Posted on Fri 24 September 2004 in Tips text {sed, awk, perl, etc.} • 1 min read

Spytał ktoś:

> Jak zastąpić ciąg znaków \r\n przez \n we wszyskich plikach
> rekursywnie z podanego katalogu ?
> Kombinowałem:
> cat plik | perl -e 'while() { s/\r\n/\n/; print; }' > plik2
> ale to rozwiązanie jest do przyjęcia jak ma się do przerobienia
> kilka plików a nie kilkaset i to w sposób powtarzalny …

Continue reading