wiki:linux:comandos_grupos:cmd_fluxo_dados
Table of Contents
Nível Básico
1. Exibição de Arquivos de Texto
- cat - Exibe o conteúdo de arquivos de texto.
- Exemplo de uso:
cat arquivo.txt - Descrição: Exibe todo o conteúdo de
arquivo.txtno terminal.
- head - Exibe as primeiras linhas de um arquivo.
- Exemplo de uso:
head -n 10 arquivo.txt
- Descrição: Mostra as primeiras 10 linhas do arquivo
arquivo.txt.
- tail - Exibe as últimas linhas de um arquivo.
- Exemplo de uso:
tail -n 10 arquivo.txt
- Descrição: Mostra as últimas 10 linhas do arquivo
arquivo.txt.
2. Contagem de Linhas, Palavras e Caracteres
- wc - Conta o número de linhas, palavras e caracteres em um arquivo.
- Exemplo de uso:
wc arquivo.txt - Descrição: Exibe o número de linhas, palavras e caracteres no arquivo
arquivo.txt.
- wc -l - Conta apenas o número de linhas em um arquivo.
- Exemplo de uso:
wc -l arquivo.txt
- Descrição: Mostra o número de linhas no arquivo
arquivo.txt.
3. Redirecionamento de Saída
- > - Redireciona a saída para um arquivo, sobrescrevendo o conteúdo.
- Exemplo de uso:
echo "Texto de exemplo" > saida.txt
- Descrição: Escreve o texto “Texto de exemplo” no arquivo
saida.txt, sobrescrevendo qualquer conteúdo anterior.
- » - Redireciona a saída para um arquivo, adicionando ao conteúdo existente.
- Exemplo de uso:
echo "Novo texto" >> saida.txt
- Descrição: Adiciona o texto “Novo texto” ao final do arquivo
saida.txtsem sobrescrever o conteúdo anterior.
4. Redirecionamento de Entrada
- < - Usa o conteúdo de um arquivo como entrada para um comando.
- Exemplo de uso:
cat < arquivo.txt
- Descrição: Redireciona o conteúdo de
arquivo.txtcomo entrada para o comandocat, exibindo-o no terminal.
Nível Intermediário
1. Busca de Texto com `grep`
- grep - Busca por padrões de texto em arquivos.
- Exemplo de uso:
grep "erro" arquivo.log
- Descrição: Procura pela palavra “erro” no arquivo
arquivo.loge exibe as linhas que contêm o termo.
- grep -i - Realiza a busca ignorando maiúsculas e minúsculas.
- Exemplo de uso:
grep -i "aviso" arquivo.log
- Descrição: Procura por “aviso” no arquivo
arquivo.log, ignorando diferenças entre maiúsculas e minúsculas.
- grep -r - Busca recursivamente em diretórios.
- Exemplo de uso:
grep -r "falha" /var/log/
- Descrição: Procura pelo termo “falha” em todos os arquivos e subdiretórios dentro de
/var/log/.
2. Ordenação de Conteúdo com `sort`
- sort - Ordena as linhas de um arquivo alfabeticamente.
- Exemplo de uso:
sort nomes.txt - Descrição: Ordena as linhas do arquivo
nomes.txtem ordem alfabética.
- sort -r - Ordena as linhas de um arquivo em ordem reversa.
- Exemplo de uso:
sort -r nomes.txt
- Descrição: Ordena as linhas de
nomes.txtem ordem alfabética reversa.
- sort -n - Ordena números em ordem crescente.
- Exemplo de uso:
sort -n numeros.txt
- Descrição: Ordena as linhas de
numeros.txtcontendo números em ordem crescente.
3. Seleção de Colunas com `cut`
- cut - Extrai campos específicos de um arquivo.
- Exemplo de uso:
cut -d ',' -f 1 lista.csv
- Descrição: Extrai a primeira coluna de um arquivo CSV, onde as colunas estão separadas por vírgulas.
- cut -c - Extrai uma faixa de caracteres de cada linha.
- Exemplo de uso:
cut -c 1-10 arquivo.txt
- Descrição: Exibe os primeiros 10 caracteres de cada linha do arquivo
arquivo.txt.
4. Substituição de Texto com `sed`
- sed - Substitui texto em arquivos.
- Exemplo de uso:
sed 's/erro/ERRO/g' arquivo.log
- Descrição: Substitui todas as ocorrências de “erro” por “ERRO” no arquivo
arquivo.log.
- sed -i - Substitui texto diretamente no arquivo.
- Exemplo de uso:
sed -i 's/aviso/AVISO/g' arquivo.log
- Descrição: Substitui “aviso” por “AVISO” em todas as linhas de
arquivo.log, editando o arquivo diretamente.
Nível Avançado
1. Uso de Expressões Regulares com `grep`
- grep -E - Usa expressões regulares estendidas.
- Exemplo de uso:
grep -E "[0-9]{3}-[0-9]{2}-[0-9]{4}" arquivo.txt
- Descrição: Busca por padrões de números de CPF (no formato
000-00-0000) emarquivo.txtusando expressões regulares.
- grep -v - Exclui linhas que correspondem ao padrão.
- Exemplo de uso:
grep -v "erro" arquivo.log
- Descrição: Exibe todas as linhas de
arquivo.logque não contêm a palavra “erro”.
2. Comparação e Combinação de Arquivos
- diff - Compara dois arquivos linha por linha.
- Exemplo de uso:
diff arquivo1.txt arquivo2.txt - Descrição: Compara
arquivo1.txtcomarquivo2.txte exibe as diferenças entre eles.
- comm - Compara arquivos linha a linha e exibe as linhas comuns e únicas.
- Exemplo de uso:
comm arquivo1.txt arquivo2.txt - Descrição: Exibe três colunas: as linhas exclusivas de
arquivo1.txt, as exclusivas dearquivo2.txt, e as comuns a ambos.
3. Junção de Arquivos com `paste` e `join`
- paste - Junta o conteúdo de arquivos lado a lado.
- Exemplo de uso:
paste arquivo1.txt arquivo2.txt
- Descrição: Combina as linhas de
arquivo1.txtearquivo2.txtlado a lado, separadas por uma tabulação.
- join - Junta arquivos baseados em um campo comum.
- Exemplo de uso:
join -1 1 -2 1 arquivo1.txt arquivo2.txt
- Descrição: Junta os arquivos
arquivo1.txtearquivo2.txtcom base no primeiro campo de cada linha (normalmente uma chave ou ID).
4. Manipulação Avançada de Texto com `awk`
- awk '{print $1, $3}' - Extrai campos específicos de um arquivo.
- Exemplo de uso:
awk '{print $1, $3}' arquivo.txt
- Descrição: Exibe o primeiro e o terceiro campo de cada linha em
arquivo.txt. Os campos são separados por espaços ou tabulações por padrão.
- awk -F - Define um delimitador de campo específico.
- Exemplo de uso:
awk -F ',' '{print $2}' arquivo.csv
- Descrição: Usa a vírgula como delimitador para campos e exibe o segundo campo de cada linha no arquivo
arquivo.csv.
5. Substituições Complexas com `sed`
- sed 's/\(.*\):\(.*\)/\2: \1/' - Troca a ordem de campos delimitados.
- Exemplo de uso:
sed 's/\(.*\):\(.*\)/\2: \1/' arquivo.txt
- Descrição: Troca de posição dois campos separados por dois pontos (
':), invertendo suas posições emarquivo.txt.
- sed '/^$/d' - Remove linhas em branco.
- Exemplo de uso:
sed '/^$/d' arquivo.txt
- Descrição: Remove todas as linhas em branco de
arquivo.txt, limpando o conteúdo do arquivo.
Nível Especializado
1. Fluxo de Dados com `xargs`
- xargs - Passa a saída de um comando como argumento para outro.
- Exemplo de uso:
cat arquivos.txt | xargs rm
- Descrição: Lê os nomes dos arquivos listados em
arquivos.txte os passa como argumento para o comandorm, removendo todos os arquivos listados.
- find + xargs - Combinação poderosa para manipulação de grandes quantidades de arquivos.
- Exemplo de uso:
find /home/usuario -name "*.log" | xargs gzip
- Descrição: Encontra todos os arquivos com a extensão
.logno diretório/home/usuarioe os compacta usando o comandogzip.
2. Manipulação de Fluxo de Dados com `tee`
- tee - Divide a saída de um comando entre um arquivo e o terminal.
- Exemplo de uso:
ls | tee lista.txt
- Descrição: Exibe a saída do comando
lsno terminal e, ao mesmo tempo, a grava no arquivolista.txt.
- tee -a - Adiciona saída ao arquivo em vez de sobrescrevê-lo.
- Exemplo de uso:
echo "Nova entrada" | tee -a log.txt
- Descrição: Adiciona a frase “Nova entrada” ao arquivo
log.txtsem sobrescrever seu conteúdo.
3. Named Pipes (`mkfifo`)
- mkfifo - Cria um named pipe (FIFO), que pode ser usado para comunicação entre processos.
- Exemplo de uso:
mkfifo meu_pipe - Descrição: Cria um pipe nomeado chamado
meu_pipe, permitindo que um processo escreva dados enquanto outro lê, usando o pipe como intermediário.
- Uso de Named Pipes - Escreve e lê dados de um named pipe.
- Exemplo de uso:
echo "dados" > meu_pipe & cat < meu_pipe
- Descrição: O comando
echoescreve “dados” no pipemeu_pipe, enquanto o comandocatlê esses dados do pipe e os exibe no terminal.
4. Manipulação de Grandes Arquivos com `split` e `sort`
- split - Divide um arquivo grande em partes menores.
- Exemplo de uso:
split -l 1000 grande_arquivo.txt pequeno_arquivo_
- Descrição: Divide o arquivo
grande_arquivo.txtem arquivos menores com 1000 linhas cada, nomeados sequencialmente comopequeno_arquivo_aa,pequeno_arquivo_ab, etc.
- sort + split - Ordena e divide arquivos de forma eficiente.
- Exemplo de uso:
sort grande_arquivo.txt | split -l 1000 - pequeno_arquivo_
- Descrição: Ordena o conteúdo do arquivo
grande_arquivo.txte o divide em partes menores de 1000 linhas cada, mantendo a ordenação.
5. Processamento Paralelo com `parallel`
- parallel - Executa comandos de forma paralela em múltiplas entradas.
- Exemplo de uso:
cat arquivos.txt | parallel gzip
- Descrição: Usa o comando
gzippara compactar todos os arquivos listados emarquivos.txtsimultaneamente, melhorando a eficiência ao utilizar múltiplos núcleos de CPU.
- find + parallel - Executa comandos em paralelo sobre múltiplos arquivos.
- Exemplo de uso:
find /dados -name "*.txt" | parallel wc -l
- Descrição: Encontra todos os arquivos
*.txtno diretório/dadose conta as linhas de cada um deles em paralelo, utilizando todos os núcleos disponíveis.
6. Manipulação de Streams com `tr`
- tr - Substitui ou remove caracteres em um fluxo de texto.
- Exemplo de uso:
echo "teste de exemplo" | tr ' ' '_'
- Descrição: Substitui todos os espaços por underscores no fluxo de texto “teste de exemplo”, resultando em
teste_de_exemplo.
- tr -d - Remove caracteres específicos.
- Exemplo de uso:
cat arquivo.txt | tr -d '\n'
- Descrição: Remove todas as quebras de linha (
\n) do arquivoarquivo.txt, juntando o conteúdo em uma única linha.
wiki/linux/comandos_grupos/cmd_fluxo_dados.txt · Last modified: by Wiki Administrator
