GNU/Linux - Trabalhando com textos

31 de out de 2014 - Paulo Dias


Oi pessoal, tudo bem? Hoje vou mostrar alguns comandos do GNU/Linux para trabalhar com arquivos de texto. O GNU/Linux possui uma grande quantidade de comandos para trabalhar com arquivos de textos, mas nesse artigo vou escrever apenas sobre os seguintes comandos:

  • cat
  • tac
  • cut
  • head
  • tail
  • join
  • nl
  • tr

Apesar de não aparecerem nessa lista, existem 2 comandos( linguagens ) que precisam ser lembrados... O primeiro deles é o awk, já escrevi sobre ele aqui, e o outro é o sed, que vou dedicar um artigo exclusivo futuramente.

Bem, feito a declaração inicial, vejamos os comandos desse aritgo.

cat

O comando cat serve para visualizar, concatenar e criar arquivos.

Para visualizar um arquivo utilize o comando cat da seguinte forma: cat caminho_para_o_arquivo. Veja:

 cat /etc/passwd 

Para concatenar arquivos utilize o comando cat assim: cat arquivo1 arquivo2 arquivo3 >> arquivo123. Veja:

 cat /etc/environment /etc/profile >>  arquivo_final

Para criar arquivos utilize o comando cat da seguinte maneira: cat > arquivo. Veja:

 cat > arquivo

O prompt vai ser aberto para digitação, para encerrar a escrita utilize 'ctrl + d'

tac

O comando tac funciona da mesma forma que o comando cat, porém coloca as linhas na ordem contrária.

cut

O comando cut serve para cortar partes de um arquivo de texto. Esse comando geralmente é usado com arquivos do tipo CSV. Veja:

cut -d : -f 1 /etc/passwd

Dessa forma o comando cut vai mostrar apenas a primeira coluna (primeiro campo de cada linha).

-d Delimitador
-f O campo que vai ser exibido

head

O comando head serve para visualizar um arquivo a partir do inicio( cabeça ). É possível limitar a quantidade de linhas que serão exibidas da seguinte maneira:

head -n 10 /etc/passwd

Nesse exemplo a saída vai ser as 10 primeiras linhas do arquivo /etc/passwd

tail

O comando tail serve para visualizar um arquivo a partir do final( cauda ). Da mesma forma que o head é possível limitar a quantidade de linhas que serão exibidas da seguinte maneira:

tail -n 10 /etc/passwd

Nesse exemplo a saída vai ser as 10 últimas linhas do arquivo /etc/passwd

join

O comando join faz a junção de arquivos que tenham um campo com indice comum. Veja:

arquivo1

1 paulo
2 andre
3 junior

arquivo2

1 10
2 9
3 10

join -j 1 arquivo1 arquivo2

A saída vai ser:

1 paulo 10
2 andre 9
3 junior 10

nl

O comando nl serve para numerar as linhas de um arquivo, veja:

nl /etc/passwd

tr

O comando tr é um tradutor... Com ele é possível substituir um caracterer por outro, veja:

cat /etc/passwd | tr a-z A-Z

Esse comando vai alterar as letras minúsculas do arquivo /etc/passwd para maiúsculas.

Outra possibilidade desse comando é retirar caracteres repetidos, por exemplo:

echo "paaaaaaulo" | tr -s a

E também é possível apagar caracteres de um arquivo, assim:

echo "paulo" | tr -d a

Chegamos ao fim de mais um artigo... Claro que existem várias outras possibilidades para esses comandos, para saber mais, utilize o comando man. Assim: man nome_comando

Segue alguns links:

http://www.prminformatica.com.br/2014/01/awk.html
http://thobias.org/doc/inc_sed.html

Paulo Dias

Graduado no curso tecnólogo em análise e desenvolvimento de sistemas. Defensor do Software Livre e da democratização da informação. Possui as certificações Linux LPIC-1 e Java OCA. Atualmente exerce a função de coordenador técnico na área de telecomunicações.

Siga-me no Twitter


Tags: Linux