Wyświetlenie wybranych kolumn z pliku oraz z poleceń

24 maja 2015

W ramach przypomnienia postanowiłem napisać krótki artykuł na temat narzędzi : cut, cat, awk, ls

cut – komenda, którą wykorzystuje się do wyciągania części z każdej linii wejścia. Narzędzie często używane do wyciągania części z plików.

Dostępne parametry :

-f wyciąganie określonych pól

-b wyciąganie określonych bajtów

-c wyciąganie określonych znaków

-d użycie separatora

-s nie wyświetlaj linii, które nie zawierają separatorów

cat – jest poleceniem służącym do łączenia plików i wypisywania na standardowe wyjście

cat [Opcja]… [Plik]…

Opcje :

-b, –number-nonblank lub -n numerowanie niepustych linii wyjściowych

-T, –show-tabs wyświetla znaki tabulacji jako ^I

-E, –show-ends wyświetla znak $ na końcu każdej linii

-s, –squeeze-blank Zastępuje  powielone  sąsiadujące  linie  puste pojedynczą linią pustą.

awk – jest językiem, którego główną funkcją jest wyszukiwanie i przetwarzanie wzorców w plikach lub strumieniach danych.

Więcej informacji można uzyskać tutaj : http://www.gnu.org/software/gawk/manual/

Wyświetlenie wybranych kolumn z pliku :

1 SPOSÓB :

– użycie narzędzia cut z parametrem -f

składnia polecenia :

cut -fx nazwa_pliku

za x wstawiamy numer kolumny jaką chcemy wyświetlić.

Można również wyświetlić więcej kolumn. Należy numery kolumn oddzielić przecinkami.

np.

cut -f1,3,4 plik

Jeżeli kolumny w pliku są nieoddzielone spacjami a innymi znakami to należy użyć parametr -d.

W parametrze -d określamy znak, który oddziela kolumny.

np.

cut -f1,3,4,6 -d":" /etc/passwd

2 SPOSÓB :

– użycie cat oraz narzędzia awk :

np. aby wyświetlić kolumnę 1 i 2 z pliku /etc/crontab należy wykonać :

cat /etc/crontab | awk '{print $1,$2}'

Jeżeli kolumny w pliku są nieoddzielone spacjami a innymi znakami to należy użyć parametr -F.

W parametrze -F określamy znak, który oddziela kolumny.

wyświetlanie kolumny 1 i 6 z pliku /etc/passwd :

cat /etc/passwd | awk -F: '{print $1,$6}'

Warto wiedzieć :

Narzędzie cat i awk można wykorzystać również do wyświetlania wybranych kolumn z danymi pochodzącymi bezpośrednio z poleceń w konsoli :

np. aby wyświetlić prawa dostępu oraz nazwy plików i katalogów :

ls -l | awk '{print $1,$9}' 

np. aby wyświetlić PID procesów :

ps -e | awk '{print $1}'
markos
Specjalizuję się w systemach komputerowych Windows oraz Linux. Oprócz wykonywanej pracy w zawodzie, informatyka jest moją pasją.

Dodaj komentarz

avatar
  Subscribe  
Powiadom o