Я пытаюсь создать сценарий, который получает расширение и сообщает в двух столбцах, пользователю и количестве файлов, которые пользователь владеет этим расширением. Результаты должны быть напечатаны в report.txtОтчет с cut и grep
Вот мой код.
#!/bin/bash
#Uncoment to create /tmp/test/ with 50 txt files
#mkdir /tmp/test/
#touch /tmp/test/arch{01..50}.txt
clear
usage(){
echo "The script needs an extension to search"
echo "$0 <extension>"
}
if [ $# -eq 0 ]; then
usage
exit 1
fi
folder="/tmp/test/"
touch report.txt
count=0
pushd $folder
for file in $(ls -l); do
grep "*.$1" | cut -d " " -f3 >> report.txt
done
popd
Программа работает бесконечно. И я даже не считаю файлы для каждого пользователя. Как я могу решить это, используя только grep и cut?
Можете ли вы дать вход и ожидаемый результат? – Fazlin
'grep * *. $ 1" | ... 'greps ins stdin. Ваша программа ждет вас навсегда. У меня нет аргумента файла или отсутствует входной канал. –
вы можете заменить цикл for на что-то вроде 'find $ folder -name '*. $ 1" -printf "% P \ t% u \ n" >> report.txt', а затем некоторый wc. –