🐧 Módulo 103.2 AULA 01
filtros
LEITURA DE ARQUIVOS COM OS COMANDOS cat
, tac
, head
, tail
, less
, nl
, sort
E uniq
O comando cat
$ cat arquivo.txt
Com a opção -n
para numeração de linhas:
$ cat -n arquivo.txt
Com a opção -b
, somente linhas com informações, ignorando linhas vazias:
$ cat -b arquivo.txt
Unifica linhas em branco em uma apenas, com a opção -s
:
$ cat -s arquivo.txt
Com a opção -a
, mostra caracteres especiais. todo fim de linha tem um $
. todo tab ele mostra um ^i
$ cat -a arquivo.txt
O help trás ajuda:
$ cat --help
O man tem o manual completo:
$ man cat
FILTROS
O COMANDO tac
O inverso de cat, imprime o arquivo de trás pra frente. na ordem inversa, da última linha pra primeira:
$ tac arquivo.txt
O COMANDO head
Apresenta o cabeçalho do arquivo. por padrão trás as primeiras 10 linhas do arquivo. (completas ou vazias):
$ head arquivo.txt
Posso definir a quantidade de linhas com a opção -n
e mostrar apenas as 2 primeiras linhas:
$ head -n2 arquivo.txt
Mostrar as 20 primeiras linhas:
$ head -n20 arquivo.txt
Mostrar apenas os 50 primeiros bytes. (ele não quebra a linha no final do comando mesmo.):
$ head -c50 arquivo.txt
O COMANDO tail
O comando tail
mostra o final do arquivo. por padrão as Últimas 10 linhas.
Posso definir a qtidade de linhas com a opção -n
:
$ tail arquivo.txt
$ tail -n4 arquivo
O tail tem uma opção muito interessante, que é a -f
, onde ele fica aguardando a entrada de informaÇÕes em um arquivo. muito usada pra monitorar eventos.
Exemplo, em um terminal vc fica escutando:
$ tail -n5 -f arquivo.txt
E em outro terminal digita:
$ echo “linus torvaldis” >> arquivo.txt
Outro exemplo:
$ tail -f /var/log/zypper
Abre outro terminal e digita:
$ sudo zypper dup
Vai mostrar a evolução do processo de atualização no OpenSUSE.
Podemos validar a entrada e saída de acesso a páginas web de um proxy, por exemplo. ou acompanhar qualquer log em tempo real que precisarmos!
O COMANDO less
Usando o ambiente gráfico, vc pode usar a barra de rolagem pra leitura de arquivos no terminal, mas em ambientes modo texto, nem sempre vc tem essa opção.
Então podemos paginar a leitura de um arquivo. ele vai travar a leitura em casa vez que alcançar a linha de baixo (ou de cima), navegando pelo direcional do teclado ou pelo enter. vai travar na próxima página usando o tab
:
$ less arquivo.txt
Uma vez aberto , o less possibilita busca por palavras, com o atalho da /
+ a palavra que procuramos:
/kernel enter
Cada vez que aperto n
, ele busca uma nova opção, dessa mesma palavra, em outras páginas.
Com shift
+ n
ele busca para trás.
Se selecionar ctrl
+ g
, ele mostra o status de onde estou no arquivo, nome, página atual e percentual da leitura.
Pressionado q
, vc sai do less
.
O less
, geralmente, é usado em associação com o cat
+ o |
:
$ cat arquivo.txt | less
O pipe pega a saída do primeiro comando e usa de entrada do segundo comando.
O COMANDO wc
o comando wc
, imprime na tela, a quantidade de linhas, a quantidade de palavras e a quantidade de caracteres, desse arquivo:
$ wc arquivo.txt
Se usar a opção -l
, mostra apenas as linhas.
Se usar a opção -w
, ele mostra as palavras.
Se usar -m
ele mostra de caracteres.
A opção -c
aponta a quantidade de bytes.
Se vc der um wc *
dentro de um diretório, ele vai apresentar dados sobre a quantidade de linhas, palavras e caracteres de todos os arquivos que estiverem dentro do diretório. trazendo o total no final.
Podemos fazer combinações, tipo de cat
+ |
+ wc
:
$ cat arquivo.txt | wc -l
ou tail
+ |
+ wc
:
$ tail -n10 arquivo.txt | wc
O COMANDO nl
O nl
é igual ao cat -b
, ignorando linhas em branco:
$ nl arquivo.txt
O COMANDO sort
O sort
serve pra ordenar alfabéticamente um arquivo.
Se usar a opção -r
, ele ordena reversamente, ao contrário do alfabeto.
As demais opções do sort, podem ser estudadas com sort -h
.
O COMANDO uniq
O uniq
serve pra mostrar entradas únicas dentro de um arquivo com repetições, ou seja, ele mostra ocorrências únicas, sem as repetições que possam ocorrer no arquivo:
$ unique arquivo.txt
Se houverem dois eventos de “linux”, ele trás apenas um deles.
Se usar com a opção-k
, ele ordena pelo segundo campo, tipo nome e sobrenome, ele ordenaria alfabéticamente o sobrenome.
THAT’S ALL FOLKS!!