Processamento de arquivo texto
Os comandos são aplicados em arquivos no formato texto. As dicas foram obtidas da internet e de anotações pessoais. O símbolo >
direciona a saída do comando para um arquivo texto. Os símbolos ^
e $
significam início e fim de uma linha, respectivamente.
Dicas utilizando o sed
Deleta as linhas em branco de um arquivo:
sed '/^$/d' seu.arquivo.texto > out.txt
Deleta a partir da linha 3 de duas em duas linhas:
sed '3~2d' seu.arquivo.texto > out.txt
Imprime as linhas pares:
sed '1~2d' seu.arquivo.texto > out.txt
Imprime as linhas ímpares:
sed '2~2d' seu.arquivo.texto > out.txt
Imprime uma linha específica. Exemplo: Imprime somente a linha 27:
sed '27!d' seu.arquivo.texto > out.txt
Imprime um intervalo de linhas. Exemplo: Imprime da linha 10 até 15:
sed '10,15!d' seu.arquivo.texto > out.txt
Realiza substituição de texto no arquivo (opção “g” substitui em todo o arquivo):
sed 's/zonal wind/vento zonal/g' seu.arquivo.texto > out.txt
Realiza substituição no próprio arquivo (opção “-i”):
sed -i 's/\./,/g' seu.arquivo.texto
Substitui TAB por nada no início da linha:
sed 's/^[ \t]*//' seu.arquivo.texto > out.txt
Substitui a palavra “texto” por nada:
sed 's/texto//g' seu.arquivo.texto > out.txt
Substitui ponto (.) por vírgula (,):
sed 's/\./,/g' seu.arquivo.texto > out.txt
Transforma coluna em linha:
sed 's/ /\n/g' seu.arquivo.texto > out.txt
Dicas utilizando o AWK
Imprime as linhas pares de um arquivo:
cat -n seu.arquivo.texto | awk '$1 % $2 != {print}' > out.txt
Imprime as linhas ímpares de um arquivo:
cat -n seu.arquivo.texto | awk '$1 % $2 == {print}' > out.txt
Transforma coluna em linha:
cat seu.arquivo.texto | awk '{gsub(/ /,"\n");print}' > out.txt
Deleta a coluna 1 ($1) de um arquivo texto:
cat seu.arquivo.texto | awk '{$1=""; print}' > out.txt
Dicas usando o xargs
Transforma linha em coluna:
cat seu.arquivo.texto | xargs
Dicas usando o find
Excluir arquivos vazios no diretório corrente (.):
find . -type f -empty | xargs rm
Excluir diretório vazios no diretório corrente (.):
find . -type d -empty | xargs rm -rf