Introdução
Neste desafio, você aprenderá a criar um script shell simples capaz de processar a saída de comandos do sistema. Esta é uma habilidade fundamental para automatizar tarefas e extrair informações específicas de ferramentas de linha de comando. Você aprenderá a capturar o resultado de um comando, manipular os dados e utilizar as informações processadas dentro do seu script. Este desafio ajudará você a desenvolver habilidades práticas de automação, essenciais para a administração de sistemas.
Criar um Script Shell para Processar a Saída de Comandos
Nesta etapa, você criará um script shell que captura a saída do comando ls -l, extrai informações específicas (tamanho e nome do arquivo) e as exibe de forma formatada. Este exercício demonstra como realizar o parsing (análise sintática) da saída de comandos, uma tarefa rotineira na criação de scripts.
Tarefas
- Criar um script shell que capture a saída do comando
ls -l. - Extrair o tamanho e o nome de cada arquivo a partir da saída do
ls -l. - Exibir as informações extraídas em um formato de saída específico.
Requisitos
Crie o script no diretório
~/project/scripts.Nomeie o script como
process_ls.sh.O script deve começar com a shebang
#!/bin/bash.O script deve capturar a saída do comando
ls -le armazená-la em uma variável.Para cada arquivo listado na saída do
ls -l, extraia seu tamanho e nome.Exiba o tamanho e o nome do arquivo no seguinte formato:
File size: <file_size> bytes File name: <file_name>Substitua
<file_size>pelo tamanho real do arquivo em bytes e<file_name>pelo nome real do arquivo.
Exemplo
Supondo que você tenha um diretório com arquivos, ao executar o seu script, a saída deve ser semelhante a esta:
[labex@host ~]$ cd ~/project/scripts
[labex@host scripts]$ nano process_ls.sh
[labex@host scripts]$ chmod +x process_ls.sh
[labex@host scripts]$ ./process_ls.sh
File size: 1300 bytes
File name: process_ls.sh
[labex@host scripts]$
Os tamanhos e nomes exatos dos arquivos dependerão do conteúdo do seu diretório atual.
Dicas
- Você pode usar a substituição de comando (ex:
variable=$(command)) para capturar a saída de um comando. - Para processar cada linha da saída do comando, você pode utilizar um loop
while read. - O comando
ls -lfornece informações detalhadas. Você pode precisar de ferramentas comoawkoucutpara extrair colunas (campos) específicas de cada linha. - Lembre-se que a primeira linha da saída do
ls -lgeralmente começa com "total" e deve ser ignorada ao processar arquivos individuais. - Certifique-se de que seu script tenha permissões de execução (
chmod +x).
Resumo
Neste desafio, você aprendeu a criar um script shell para processar a saída de um comando. Especificamente, você capturou o resultado do ls -l, extraiu tamanhos e nomes de arquivos e os exibiu de forma formatada. Este exercício demonstrou conceitos fundamentais de scripting, como substituição de comando, loops while read e processamento de texto com awk. Essas habilidades são cruciais para automatizar tarefas, analisar arquivos de log e extrair dados específicos de diversas ferramentas de linha de comando, requisitos comuns tanto para o exame RHCSA quanto para o dia a dia da administração de sistemas.



