Wyświetlenie nieprzeczytanych wiadomość na Gmail można wykonać następująco:
curl -u UŻYTKOWNIK:HASŁO --silent "https://mail.google.com/mail/feed/atom" | tr -d '\n' | awk -F '
Tag Archives: awk
Utworzenie z pliku jednokolumnowego pliku wielokolumnowego
Załóżmy, że mamy plik o strukturze:
A
B
C
D
E
F
i chcielibyśmy uzyskać plik o strukturze:
A,B
C,D
E,F
Aby to zrobić wystarczy wpisać:
$ awk 'ORS=NR%2?",":"\n"' PLIK
Zmieniając %2
na np. %3
uzyskamy plik zawierający trzy kolumny.
Wyświetlenie z pliku lini zawierających określoną ilość znaków
Aby z pliku tekstowego wyświetlić linie zawierające określoną liczbę znaków (np. więcej niż 10) należy użyć poniższego polecenia
$ awk 'length>10' PLIK_TEKSTOWY
Wyświetlenie adresu IP z jakiego jesteśmy zalogowani na zdalnym serwerze
Aby wyświetlić adres IP z jakiego jesteśmy zalogowani na zdalnym serwerze należy na nim wykonać komendę:
$ who | grep `whoami` | head -n1 | sed 's%.*(\(.\+\)).*%\1%g'
lub trochę prościej:
$ last | grep `whoami` | head -n1 | awk '{print $3}'
Sortowanie linii według ich długości
Prosty sposób na sortowanie linii pliku względem ich długości:
$ awk '{print length, $0}' test | sort -n | awk '{$1=""; print $0}'
Odwrotny porządek sortowania:
$ awk '{print length, $0}' test | sort -nr | awk '{$1=""; print $0}'
Wyświetlenie najczęściej używanych poleceń
Aby wyświetlić 10 najczęściej używanych komend wystarczy wpisać:
$ history | awk '{print $2}' | sort | uniq -c | sort -nr | head
Posortowane wyświetlnie wielkości plików i katalogów
W systemach linuksowych, aby wyświetlić wielkość plików i katalogów (posortowaną i w formacie przyjaznym użytkownikowi) można użyć poniższego polecenia:
$ ls -A1 | awk '{print "\""$0"\""}' | xargs du -sk | sort -nr | cut -f2 | awk '{print "\""$0"\""}' | xargs du -sh
Konwersja kodowania pliku tekstowego z ISO-8859-2 na UTF-8
Aby przekonwertować plik tekstowy z ISO-8859-2 na UTF-8 wystarczy wpisać:
$ iconv -f ISO-8859-2 -t UTF-8 plik_wejsciowy > plik_wyjsciowy
Sumowanie liczb w kolumnie
Jeżeli w pliku tekstowym mamy jedną kolumnę zawierającą liczby to ich zsumowanie można wykonać następująco:
$ awk '{x=x+$1} END {print x}' PLIK.TXT
Używając opcję -F
, określającą separatora pola, można operować na plikach posiadających więcej niż jedną kolumnę np:
$ awk -F ',' '{x=x+$2} END {print x}' PLIK.TXT
Powyższa komenda zsumuje zawartość 2 kolumny zakładając, że separatorem pola jest przecinek.
Zabicie wszystkich procesów danego programu
Do zabicia wszystkich procesów danego programu można użyć poniższy zapis:
$ ps aux | grep NAZWA_PROGRAMU | awk '{print $2}' | xargs kill -9