Script que lista os nomes dos arquivos por tipo de primeira letra bash [closed]

0

Eu preciso de um script que receba entrada do usuário que especifique a primeira letra dos nomes dos arquivos a serem exibidos, para que apenas os nomes de arquivos que começam com a letra especificada sejam listados. Eu só preciso imprimir o tamanho do arquivo e o nome do arquivo e fazer com que tudo seja enviado para um arquivo .txt em uma única etapa.

Para fazer o texto de saída ir para um determinado diretório, basta apontar para ele assim? /ect/myscrpits/output.txt

Aqui está o que eu fiz até agora

#!/bin/bash

if [ "$1" == " " ]
then
echo "Usage: Type a single letter at the end for a list of files that start with that letter. The list is sorted from largest to smallest."
echo "Example: ./bwalla_.sh a"

else
while
read letter
ls -l "$letter*" |awk '{print $5,$9;}' > bwalla_output.txt

fi 
    
por Brett Wallace 24.09.2015 / 01:24

2 respostas

2

Use a função read para obter a entrada do usuário, salve a entrada em uma variável e exiba os arquivos dentro da variável com ls.

por exemplo,

#!/usr/bin
echo "Type the letter: "
read letter
ls -l "$letter"* | awk '{print $5,$9}' > output.txt
    
por 24.09.2015 / 02:47
1

Aqui está uma solução fácil. A entrada do usuário vai para onde a está abaixo. Substitua esta carta conforme necessário.

ls a*

Sim. É isso aí. : /

    
por 24.09.2015 / 02:36

Tags