Jump to content
Sign in to follow this  
Followers 0
Kokonoe

Dicas de comandos para o dia-a-dia

3 posts in this topic

Recommended Posts

Antes de ser um usuario OS X, utilizei por muito tempo o Slackware como meu sistema principal em casa, e Ubuntu no meu trabalho. As necessidades do dia a dia foram ocorrendo, e percebi que o shell bash é muito poderoso para essas tarefas, e até hoje, ele é meu app mais utilizado até mesmo no OS X.

 

Estou escrevendo esse tópico para organizar uma variedade de comandos úteis para serem utilizados, pretendo ir atualizando eles com o tempo.

 

 

Quantas linhas tem um arquivo:

wc -l arquivo

Qual o encoding do arquivo: (o segundo exemplo é para OS X ou BSD)

file -bi arquivo
file -I arquivo

Converter o encoding de um arquivo para outro encoding: (o segundo exemplo é para OS X ou BSD)

iconv -f iso-8859-1 -t utf-8 arquivo -o arquivoSaida
iconv -f iso-8859-1 -t utf-8 arquivo > arquivoSaida

Formata e identa um arquivo XML e escreve sua saída em outro arquivo:

xmllint --format arquivo > arquivoSaida

Mostrar o cabeçalho/rodapé do arquivo: (-n sendo o numero de linhas)

head -n 10 arquivo
tail -n 5 arquivo

Procurar um texto/regexp em arquivo: (Uma dica que eu dou é de instalar o grep GNU caso esteja usando OS X, ele é muuuuuito mais rápido.)

grep arquivo -e texto

Procurar em todos arquivos de um diretório e todos seus subdiretórios por um texto/regexp:

grep -r diretorio -e texto

Imprimir apenas as linhas pares/impares do arquivo:

awk "NR % 2 == 0" arquivo
awk "NR % 2 == 1" arquivo

Substituir texto/regexp de um arquivo com perl: (o segundo exemplo sendo recursivo, o terceiro escrevendo a saída em outro arquivo)

cat arquivo | perl -pe "s/texto/texto2/"
cat arquivo | perl -pe "s/texto/texto2/g"
cat arquivo | perl -pe "s/texto/texto2/g" > arquivoSaida

Corta colunas de um arquivo delimitado: (-d sendo o delimitador e -f os campos)

cut -d ";" -f 1,2 arquivo
cut -d ";" -f 2-6,9 arquivo > arquivoSaida

Mescla a coluna de dois ou mais arquivos: (-d sendo o delimitador)

paste -d arquivo1 arquivo2 arquivo3

Extrair todos zips de um diretório: (pode ser usado para outras coisas também, nesse caso executei o comando unzip para todos *.zip do diretório)

for i in $(ls *.zip); do unzip $i; done

Extrair todos zips de um diretório e seus subdiretórios: (também pode ser usado para outras coisas)

for i in $(find . | grep -e \.zip$); do unzip $i; done

Share this post


Link to post
Share on other sites
Advertisement

Cara que contribuição, muito bom mesmo!

 

Tenho muita vontade de um dia usar o Slackware, espero que com o que você postar com o tempo, minha curiosidade aumenta...hehe  ;)

 

E de outros também  ^_^

Share this post


Link to post
Share on other sites

kkkk, como eu disse Allan, esse bash me salva muito no meu trabalho.

 

Pretendo sim adicionar mais coisas, só preciso reservar um tempo pra escrever.

Share this post


Link to post
Share on other sites
Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

×