Exemplos de comandos de corte do Linux

O comando `cut` do Linux é um dos comandos úteis para trabalhar com dados de string e conteúdo de arquivo. É usado principalmente para cortar conteúdo de dados tabulares ou arquivo CSV. Cada linha do arquivo pode ser fatiada e os dados necessários podem ser recuperados facilmente usando o comando `cut`. Também pode ser usado para cortar texto por delimitador, caractere ou posição de byte. Este comando tem muitas opções para cortar dados do texto ou arquivo de maneiras diferentes. Como o comando de corte pode ser usado com diferentes opções é mostrado neste tutorial usando vários exemplos.

Sintaxe:

OPÇÃO de corte. ..…

O valor OPTION é obrigatório para usar para o comando `cut` e o nome do FILE é opcional. Se você omitir o nome do arquivo no comando, ele obterá os dados da entrada padrão. Mas se você omitir o valor OPTION no comando cut, o erro será gerado.

Opções:

Tag de opção Descrição
-b ou –byte = LIST Selecione os bytes específicos.
-c ou –character = LIST Selecione os caracteres específicos.
-d ou –delimiter = DELIM Selecione o valor DELIM como delimitador. O delimitador padrão é TAB.
-f ou –fields = LIST Selecione os campos específicos
–complement Use para complementar a saída
-s ou –only-delimited Omita o linhas que não contêm delimitador.
–output-delimiter = STRING Use o valor STRING como delimitador de saída.
-z ou –zero-terminado Use NULL como delimitador de linha.

Exemplo-1 : Corte em bytes

O seguinte comando de corte dividirá os dados de entrada padrão com base nos bytes definidos. Aqui, 3,4,5 e 6 são definidos como bytes. A saída será gerada com base na entrada padrão. Pressione CTRL + D para sair do comando.

$ cut -b 3,4,5,6

Saída:

Aqui, a entrada é “Eu gosto de programação” e a saída é “semelhante” com base nos bytes mencionados.

Crie um arquivo de texto chamado “productlist.txt” com o seguinte conteúdo para aplicar o comando `cut`. Use TAB para separar os campos do conteúdo do arquivo.

ID Nome Preço
01 Caneta $ 2
02 Lápis $ 1,5
03 Borracha $ 1

Execute o seguinte comando para recuperar apenas o ID do produto. Aqui, os bytes são fornecidos como um intervalo, ‘1-2 ′ para cortar os dados.

$ cut -b 1-2 < productlist.txt

Resultado:

Exemplo-2: Cortado por caracteres

Você pode gerar a mesma saída usando a opção -c, que são mostradas nos exemplos anteriores. Portanto, não há nenhuma diferença particular entre a saída de -b e – c opções do comando cut. Execute o seguinte comando para mostrar o uso da opção -c. Aqui, 4- é usado como um valor de opção que cortará da posição 4 para todos os caracteres restantes de cada linha. Você também pode usar o sinal negativo na frente do valor como -4, então ele cortará do início para 4 posições.

$ cut -c 4- productlist.txt

Resultado:

Os primeiros três caracteres são omitidos na saída.

Exemplo-3: Corte por delimitador e campos

Crie um arquivo CSV denominado ‘students.csv’ com o seguinte conteúdo para mostrar o uso do delimitador.

1001, Jonathan, CSE, 3,74
1002, Micheal, EEE, 3,99
1003, Asraful Haque, BBA, 3,85
1004, Momotaj Khan, Inglês, 3.20

Execute o seguinte comando para imprimir o nome do aluno e CGPA do arquivo students.csv. De acordo com o conteúdo do arquivo, o 2º e o 4º campos contêm o nome do aluno e CGPA. Portanto, duas opções são usadas neste comando para mostrar a saída. Um é o delimitador, -d, que é ‘,’ aqui e outro é a opção de campo, -f.

$ cut -d “,” – f 2,4 students.csv

Resultado:

Se você quiser imprimir duas ou mais colunas sequenciais de qualquer dado tabular ou arquivo CSV, então você pode definir os campos como um intervalo. O intervalo do valor do campo é usado no comando a seguir. Aqui, todos os campos de 2 a 4 serão impressos como saída.

$ cut -d “,” -f 2-4 students.csv

Resultado:

Exemplo 4: Cortar por complemento

– a opção complementar é usada para gerar a saída oposta do comando . No comando a seguir, o arquivo productlist.txt é usado, o qual é criado no primeiro exemplo. Aqui, a opção -f cortará o primeiro campo e a opção –-complement irá imprimir todos os outros campos do arquivo omitindo o primeiro campo.

$ cat productlist.txt
$ cut –complement -f 1 productlist.txt

Resultado:

Exemplo-5: Cortar por delimitador de saída

Esta opção é usada para gerar saída usando um delimitador específico. O arquivo students.csv criado anteriormente é usado no comando a seguir. ‘,’ É o delimitador padrão de qualquer arquivo CSV. O seguinte comando usa ‘:’ como valor delimitador de saída.

$ cat students.csv
$ cut -d “,” -f 1- 3 students.csv –output-delimiter = “:”

Resultado:

Depois de executar o comando, o delimitador de entrada ‘,’ será substituído pelo delimitador de saída ‘:’ e os três primeiros campos serão impressos separando ‘:’.

Exemplo-6: Usando cortar com comando pipe

O comando Cut pode receber entrada de qualquer arquivo ou da entrada do usuário. Mas o texto de entrada pode ser enviado para o comando de corte usando o tubo. O comando a seguir mostra o uso do comando cortar com o tubo. Aqui, o comando echo será o texto de entrada para o comando de corte e o comando de corte cortará os campos 2 e 3 com base no delimitador.

$ echo “Teste de corte comando “| cut -d “” -f 2,3

Resultado:

Exemplo -7: Salvar a saída do comando recortar em um arquivo

Se desejar, você também pode salvar a saída do comando recortar em qualquer arquivo de texto. O comando a seguir pegará o conteúdo do arquivo students.csv como entrada, cortará o segundo campo com base no delimitador e imprimirá a saída em um arquivo de texto denominado ‘student_names.txt’.

Saída:

Conclusão:

Os usos mais comuns do comando cut são tentados para explicar neste tutorial usando o acima exemplos. Espero que os usos do comando cut sejam eliminados dos leitores após o exercício dos exemplos acima.

Leave a Reply

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *