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

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

... 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``

Skrypt w PHP do stref czasowych (time zone, dst)

Posted on Wed 04 October 2006 in Tips text {sed, awk, perl, etc.}

Znalazłem skrypt wspomagający wykrywanie stref czasowych (TZ) z przeglądarki z uwzględnieniem czasu letniego (DST). Po niewielkiej przeróbce można z jego pomocą wykrywać i wyświetlać właściwą dla użytkownika strefę czasową. Skrypt znajduje się pod następującym adresem:

Konwersja z win-1250 na iso

Posted on Fri 09 September 2005 in Tips text {sed, awk, perl, etc.}

Nie można prościej:
iconv -f cp1250 -t latin2 plik_wej > plik_wyj
albo
recode windows-1250..latin2 plik.txt

Z mana postscript

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

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.}

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

Sumowanie wartości bez pętelek

Posted on Sat 06 November 2004 in Tips text {sed, awk, perl, etc.}

> Mam polecenie, ktore zwraca takie wartosci:
>
> 111
> 123
> 124
> 125
>
> Mysle sobie, zeby to cholerstwo przepuscic przez xargs expr +, zeby
> mi te wartosci zsumowalo. Petelek wolalbym unikac. Da sie?

Bez petelek? W jaki sposob? Nawet gdyby ta petelka miala skonstruowac
wyrazenie, powiedzmy, LISP-u i przekazac do ewaluacji. Chyba, ze to …

Continue reading

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.}

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

Wyizolować ciąg z losowego ciągu

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

Jedna rzecz nie daje mi spokoju. Mając losowy ciąg, z losową ilością "foo" (np.: abcfoorkdfooplffooplffoofoo), chciałbym wyizolować i wyświetlić wszystkie foo, resztę eliminując.

echo abcfoorkdfooplffooplffoofoo | sed 's/.*\(foo\).*/\1/'
wyświetla mi tylko ostatnie foo. Zakładam że ilość i rozmieszczenie "foo" w ciągu są losowe... co trochę komplikuje mi rozwiązanie.
Widzi …

Continue reading

sed, wzorce niepasujące

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

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