Introdução
No Linux encontramos diversas ferramentas para trabalhar e transformar arquivos de textos puros (sem formatação), tais ferramentas são úteis quando estamos trabalhando com scripts no shell, verificando arquivos de log, etc.
Durante os exemplos abaixo, utilizaremos $ ou # antes do comando. o $ indica que o comando não precisa ser root e # indica que é necessário ser root.
Comandos
cat [opções] arquivo
O comando cat concatena arquivos, exibe seu conteúdo na tela e ainda pode receber texto digitado pelo teclado para um arquivo
Criando arquivo de texto com cat
$ cat > teste.txt
Exemplo
$ cat > teste.txt
Testando a criação de arquivos com cat
<CTRL> + D (finaliza o arquivo, vale ressaltar que os teclas devem ser pressionadas em uma linha vazia.
Visualizando arquivos com cat
$ cat teste.txt
Substituindo o conteúdo de arquivos (concatenando) com cat
$ cat teste.txt >teste2.txt
No exemplo acima, o conteúdo de teste2.txt será substituído pelo conteúdo de teste.txt
Para adicionar ao final do arquivo teste2.txt o conteúdo de teste.txt, os símbolos >> devem ser usados
Ex. cat teste2.txt >> teste1.txt
cat teste2.txt
cut [opções] arquivo
O comando cut, do inglês “cortar” tem a função de ler o conteúdo de um ou mais arquivos e exibi-los como uma coluna.
ex. Para que possamos exemplificar o cut, faz-se necessário um arquivo com formato de tabela, para tanto, crie o arquivo abaixo como exemplo:
cat > tabela1.txt
COLUNA1;COLUNA2;COLUNA3;COLUNA4;1;2;3;4;
10;20;30;40
100;200;300;400;
<CTRL>+D
Agora que criamos o arquivo, execute o cut de forma a capturar apenas a segunda coluna, usando o delimitador “;” (ponto-e-virgula)
cut -d ‘;’ -f2 tabela1.txt
Veja o Resultado:
COLUNA2
2
20
200
Explicando algumas opções do cut:
-d [delimitado] –> Configura o delimitador de colunas. O Padrão e TAB
-f [número] –> Exibe a coluna número
cut –help –> Exibe todas as opções
expand [opções] arquivo
o comando expand troca o TAB dentro dos textos para o número de espaços correspondentes. Muito útil para tornar um texto que faz uso das tabulações mais atrativo para determinados dispositivos, como o vídeo, impressora, arquivos, etc
ex. expand -t [número] Especifica o número de espaços que o tab contém. o Padrão é 8
-i Converte somente o inicio das linhas
fmt [opções] [arquivos]
O comando fmt formata o texto com uma largura específica, adicionando ou removendo espaços, conforme a largura desejada. Muito útil ao se usar impressoras matriciais que não contém muitas opções de impressão. O padrão de largura é 75 caracteres.
ex.: $ fmt -w 80 teste.txt
-w [numero] –> define a largura em caracteres
fmt -w 20 teste.txt
Resultado com o arquivo texte.exe criado anteriormente:
Ola. testanto a
criação de um
arquivo de texto
com cat
head [opções] [arquivos]
Exibe as primeiras linhas do texto. Por padrão, o head exibe as primeiras 10 linhas.
head -n 5 teste.txt
-n [número] –> define o número de linhas a serem exibidas
O comando acima mostra as primeiras 5 linhas do texto, pois a propriedade n está setada para 5.
join [opções] [arquivo1][arquivo2]
Une as linhas de de um ou mais arquivos que possuam um índice em comum. Este comando poderá ser utilizado como um banco de dados simples.
As opções mais utilizadas são:
-j1 [numero] –> Escolhe o campo número como índice para o arquivo 1.-j2 [número] –> Escolhe o campo número como índice para o arquivo 2.
-j [número] –> Escolhe o campo número como índice para ambos os arquivos
Exemplo:
Crie um arquivo chamado arquivo1.txt que contenha:
cat > arquivo1.txt
001:Governador
002:Presidente
003:Vereador
<CTRL>+D
Crie o arquivo2.txt da seguinte forma:
cat > arquivo2.txt
Moacir
Candido
Ferrugem
<CTRL>+D
Testando o comando:
$ join -t: arquivo1.txt arquivo2.txt
Notemos o Resultado:
001:Governador:001:Moacir
002:Presidente:002:Candido
003:Vereador:003:Ferrugem
nl[opções][arquivo]
O comando nl numera as linhas de um arquivo, com ou sem cabeçalho e rodapé
símbolos do nl:
\:\:\: -> Inicia o cabeçalho do texto\:\: -> Inicia o corpo do texto
\: -> Inicia o rodapé do texto
Algumas opções do nl:
-h [subopção] -> Formata o cabeçalho do texto
-b [subopção] -> Formata o corpo do texto
-f [subopção] -> Formata o rodapé do texto
As subopções são:
A -> Numerar todas as linhas
t -> Numerar somente as preenchidas
n -> Não numerar
Exemplo:
Imaginemos o seguinte arquivo testenl.txt
\:\:\:
Relatorio Purianfo
———————————————–
Nome Função
———————————————-
\:\:
Diego Webmaster
Rodrigo WebDevelop
\:
———————————————
Agora testemos o nl:
$nl testenl.txt
Relatorio Purianfo
———————————————–
Nome Função
———————————————-
1 Diego Webmaster
2 Rodrigo WebDevelop
———————————————
od [opções][arquivo]
Exibe o conteúdo de um arquivo nos formatos hexadecimal, octal, ASCII, e nome dos caracteres
opções:
-t [tipo]
tipos:
a -> Nome do caractere
c -> ASCII
o -> Octal
x -> Hexadecimal
Exemplo:
od -ta teste.txt
split[opções][arquivos][arquivoSaida]
O comando split serve para dividir um arquivo grande em vários menores. A divisão pode ocorrer pelo número de linhas ou pelo tamanho em bytes
Ex.: split -4 teste.txt arquivosaida
tail[opções][arquivos]
O tail é bastante útil para administradores de sistemas. Ele visualiza as ultimas linhas de qualquer arquivo.
A opçãpo “-n” especifica quantas linhas deverão ser exibidas na tela. o comando “-f”, por sua vez, indica que leremos do final para o começo (de baixo para cima).
Ex. tail -6 teste.txt -f
paste [opções] arquivo1 arquivo2
O comando paste é utilizado para concatenar as linhas de diversos arquivos em colunas verticais.
As opções mais usadas são:
-d’s’ : Separa as colunas com o símbolo s dentro das aspas.
-s : Concatena todo o conteúdo de um arquivo com uma linha para cada arquivo.
Exemplo:
Suponha que o arquivo1 tenha o seguinte conteúdo:
diego
E o arquivo2 tenha o seguinte conteúdo:
purainfo.com.br
Ao utilizar o comando paste, o resultado será o seguinte.
$ paste -d ‘@’ arquivo1 arquivo2
[email protected]
Fico por aqui pessoal, se houverem visitas consideráveis e comentários, faço a parte 2.