Os desenvolvedores do Linux seguem a filosofia de criar pequenos programas que realizam uma tarefa e a fazem bem. Tome as ferramentas de processamento de texto do Linux como exemplo, elas são leves e possuem funcionalidade modular. Embora essas ferramentas de manipulação de texto sejam diferentes em complexidade e funcionalidade, elas são úteis em um ambiente onde a interface gráfica do usuário não está disponível.

O artigo aborda as melhores ferramentas do Linux para ler arquivos e usar expressões regulares para realizar operações no texto selecionado. Ele também cobre sua funcionalidade mais básica e exemplos para melhor compreensão.

1. grep

grep é um utilitário de manipulação de texto do Linux que procura uma string de caracteres ou padrões conhecidos como expressões regulares em um arquivo ou texto. A ferramenta grep pertence à família de utilitários que inclui egrep, fgrep e grep, entre os quais fgrep é o mais rápido de todos, enquanto o grep é o mais fácil.

A sintaxe geral para usar o grep é a seguinte:

instagram viewer
grep -options string nome do arquivo

Por exemplo, para pesquisar a palavra "raiz" em o arquivo /etc/passwd:

grep root /etc/passwd

Alguns exemplos de linha de comando padrão para começar são:

Opções Exemplo Descrição
-c grep -c ./bashrc Contar o número de linhas em que a string existe
-eu grep -i ./bashrc Execute uma pesquisa que não diferencia maiúsculas de minúsculas para a string especificada
-o grep -o Arquivo Imprime apenas a string correspondente
-eu grep -l "senha" Imprime nomes de arquivos no diretório atual que correspondem ao padrão
-n grep -n Arquivo Imprime o número da linha ao longo da linha que contém a string especificada
string1|string2 grep arquivo "string1|string2" Localiza e imprime várias strings de um arquivo

Da mesma forma, você pode usar o ^ metacharacter com o comando grep para exibir todas as strings correspondentes que começam com determinados caracteres.

Por exemplo, o comando a seguir canaliza a saída do comando env como uma entrada para grep e exibe variáveis ​​que começam com "HO":

env | grep ^HO

Relacionado: Exemplos práticos dos comandos Linux Grep

2. awk

awk é uma poderosa linguagem de script e uma ferramenta de manipulação de texto de linha de comando que pode executar varreduras linha por linha e comparar linhas com padrões. A sintaxe básica do comando awk é uma ação definida entre aspas simples e chaves seguidas pelo nome do arquivo.

awk '{action}' nome do arquivo
awk '{padrão; ação}' nome do arquivo

O utilitário pesquisa o arquivo usando expressões regulares e executa a função definida no parâmetro de ação. o awk executa o script em todas as linhas se você não definir um padrão, conforme mostrado abaixo:

awk '{print $1}' awk_examples.txt

...Onde $1 exibe o primeiro campo do awk_examples.txt Arquivo.

O comando a seguir executa a função de impressão no padrão fornecido substituindo o segundo campo "Mundo" com "Alice," e exibe a linha inteira ($0):

echo "Olá Mundo" | awk '{$2="Alice"; imprimir $0}'

Saída:

Olá Alice

Da mesma forma, você pode usar a função imprimir $ 0 do comando acima para emular o grep funcionalidade.

awk '/john/{print $0}' /etc/passwd
john: x: 1001:1001::/home/john:/bin/sh

3. organizar

sort é outro utilitário de linha de comando do Linux que ajuda a exibir o conteúdo do arquivo de texto especificado em um formato classificado. Por exemplo, você pode canalizar a saída do comando awk como uma entrada para o utilitário de classificação da seguinte maneira:

awk '{print $1}' awk_examples.txt | classificar > sort_text.txt
cat sort_text.txt

Saída:

Relacionado: Como classificar arquivos de texto no Linux usando classificação

4. sed

sed ou editor de fluxo recebe a entrada como um fluxo de caracteres e realiza filtragem e transformações de texto (excluir, substituir e substituir) no texto especificado.

Você pode usá-lo em um script e editar arquivos de forma não interativa. Portanto, o propósito mais básico do utilitário é a substituição de strings/caracteres. A sintaxe geral é:

arquivo sed 's/string/substitution/option'

Crie um arquivo usando frases aleatórias para praticar e entender o funcionamento deste utilitário.

Vamos substituir a ocorrência da palavra "dois" em cada linha do arquivo com "2"usando o -g sinalizador para substituição global, como segue:

sed 's/two/2/g' sed_examples.txt > sed_examples2.txt

Da mesma forma, use o -d sinalizador para excluir uma linha específica do arquivo:

sed '2d' sed_examples.txt

Você também pode substituir a string especificando um número de linha (4 s/dois/2/p) e imprimindo apenas a linha substituída da seguinte forma:

sed -n '4 s/dois/2/p' sed_examples2.txt

O -n flag no comando acima desabilita a impressão automática do fluxo de entrada para a saída. Você pode usar esta opção a seu favor para substituir a funcionalidade do utilitário grep por sed.

Por exemplo, você pode modificar o comando acima incluindo apenas um padrão regex /two/p tal que o -p sinalizador imprimirá apenas as linhas para o fluxo de saída padrão.

sed -n '/two/p' sed_examples2.txt

Relacionado: Estes 10 exemplos de sed farão de você um usuário avançado do Linux

5. cortar

O corte é outro utilitário de linha de comando que corta/extrai partes do texto de uma linha ou arquivo. Ele corta o texto com base em um campo, caractere ou posição de byte especificado e canaliza o resultado para a saída padrão.

O utilitário usa a seguinte sintaxe:

cortar  Arquivo

Use o -b opção para cortar seção ou conteúdo usando um byte especificado ou um intervalo de bytes:

cut -b 1 cut_examples.txt

Use o -c sinalizador para extrair texto especificando as posições dos caracteres:

cut -c 1,3,5 cut_examples.txt

Por fim, você também pode extrair texto especificando campos com o -f opção e -d para delimitador de espaço ou campo:

cut -d " " -f 1 cut_examples.txt

Aqui está a lista de intervalos com exemplos e descrições que você pode utilizar com o personagem -c e byte -b opções:

Alcance Exemplo Descrição
n- cut -c 7- nome do arquivo Extraia o caractere do enésimo inteiro até o final da linha
n-m cut -b 7-15 nome do arquivo Extrai do inteiro n-m de cada linha do arquivo de entrada
-m cut -c -7 nome do arquivo Extrai linhas a partir de m até o final da linha

Observe que você não pode definir os intervalos para extração de texto usando o campo -f opção.

Manipulando texto com comandos do Linux

O Linux oferece muitos programas e ferramentas para manipular e contornar arquivos ou texto. Aprendê-los todos pode não ser necessário, pois você pode facilmente preencher a lacuna com outro depois de ter um bom domínio sobre um, como usar sed como grep ou awk como grep, mas isso não pode ser verdade para todas as ferramentas.

Além disso, os comandos do Linux têm uma curva de aprendizado íngreme, mas uma vez que você desenvolve a habilidade, eles podem ser muito úteis e eficazes na vida de qualquer usuário do Linux, especialmente um administrador de sistema.

8 melhores aplicativos de terminal para produtividade aprimorada do Linux

Cansado do aplicativo de terminal antigo e chato que vem pré-instalado no Linux? Confira esses oito aplicativos de terminal que aprimorarão seu fluxo de trabalho.

Leia a seguir

CompartilhadoTweetE-mail
Tópicos relacionados
  • Linux
  • Comandos Linux
Sobre o autor
Rumaisa Niazi (7 Artigos Publicados)

Rumaisa é redatora freelancer na MUO. Ela já desempenhou muitos cargos, de matemática a entusiasta de segurança da informação, e agora está trabalhando como analista de SOC. Seus interesses incluem ler e escrever sobre novas tecnologias, distribuições Linux e qualquer coisa relacionada à Segurança da Informação.

Mais de Rumaisa Niazi

Assine a nossa newsletter

Junte-se à nossa newsletter para dicas de tecnologia, análises, e-books gratuitos e ofertas exclusivas!

Clique aqui para assinar