domingo, janeiro 29, 2012

Manipulação de texto Linux

Sistemas Unix\Linux possuem diversas ferramentas para trabalhar com texto, criei uma pequena referência:

cat
Concatena arquivos e imprime na saída padrão.
Ex: #cat /etc/inittab > /root/myfile.txt

cut
Imprime linhas\colunas de um ou mais arquivos.
Ex: #cut -c1-2 myfile.txt
Imprimindo 1 e 2 caracter do arquivo myfile.txt.

expand
Converte “Tabs” em espaços.
Ex: #expand -t myfile.txt

fmt
Formata o texto largura especificada e remove linhas.
Ex: #fmt myfile.txt

head
Imprime as linhas iniciais de um ou mais arquivos.
Ex: #head –c 2 myfile.txt
Imprime duas linhas do arquivo myfile.txt

join
Imprime uma linha para um par de entradas, exemplificando, tenho dois arquivos:
Arquivo1:
1 aaaa
2 bbbb
Arquivo2:
1 1111
2 2222
Quando executo o comando:
#join Arquivo1 Arquivo2
Obtenho a seguinte saída:
1 aaaa 1111
2 bbbb 2222
Os arquivos devem estar em ordem, como no exemplo acima 1 – Linha 1, 2 – Linha 2.

nl
Número de linhas de um arquivo.
#nl myfile.txt

od
Efetua um ”dump” de um arquivo, aceita alguns formatos, como ASCII, Hexadecimal etc.
#od myfile.txt

paste
Concatena linhas de diversos arquivos, exemplo:
Arquivo1:
aaa
bbb
Arquivos2:
111
222
Ao executar o comando:
#paste d’.’ Arquivo1 Arquivo2
Obtenho:
aaa.111
bbb.222

pr
Converte texto para impressão

sort
Ordenha conteúdo.
#sort myfile.txt

split
Divide linhas, cria novos arquivos.
#split -2 myfile.txt split
Vai gerar N arquivos com duas linhas cada.

tac
Imprime em ordem reversa ao contrário do cat.
#tac myfiles.txt

tail
Imprime as últimas linhas de um arquivo.

tr
Usando para converter caracteres.

unexpand
Converte espaços em tabs, ao contraio do expand.

uniq
Elimina linha duplicadas.

wc
Conta o número de linhas, palavras de um arquivo.

Nenhum comentário: