Aby usunąć wszystkie puste linie z pliku można wykorzystać poniższe polecenie:
$ sed '/^$/d' PLIK
Tag Archives: sed
Odczytanie poczty z Gmail
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 '
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}'
Usunięcie tagów HTML z pliku
Aby z pliku usunąć wszystkie tagi HTML wystarczy wpisać:
$ sed -e 's/<[^>]*>//g' PLIK.HTML
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.
Zamiana ciągu znaków na inny
Polecenie zamieszczone poniżej zamieni ciąg znaków „xxx” na „yyy”, ale tylko dla przypadku, kiedy wystąpi on dopiero po raz 4 w danej linii:
$ sed 's/xxx/yyy/4' PLIK
Odczytanie tagów z plików MP3
Aby odczytać tagi z plików MP3 wystarczy wpisać:
– artysta:
$ id3tool plik.mp3 | grep ^Artist | sed -r 's/^[[:alnum:]]+:[[:space:]]+//'
– tytuł utworu:
$ id3tool plik.mp3 | grep ^Song\ Title | sed -r 's/^[[:alnum:]]+:[[:space:]]+//'
– tytuł albumu:
$ id3tool plik.mp3 | grep ^Album | sed -r 's/^[[:alnum:]]+:[[:space:]]+//'
– rok wydania:
$ id3tool plik.mp3 | grep ^Year | sed -r 's/^[[:alnum:]]+:[[:space:]]+//'
Komendy podesłał Maciek Rutecki z portalu unixy.pl.
Sprawdzenie aktualne zewnętrznego adresu IP
Aby sprawdzić nasz aktualny zewnętrzny adres IP wystarczy wpisać:
$ curl -s http://checkip.dyndns.org | sed 's/[[:alpha:][:space:]<>/:]//g'
Zamiana określonego ciągu znaków na inny
Jeśli chcemy zastąpić w pliku wszystkie wystąpienia ciągu xxx na yyy wystarczy wpisać
$ sed -e 's/xxx/yyy/g' plik.txt