Здравствуйте. Собственно, требуется написать скрипт, который в домашнем каталоге ищет файлы с расширением .sh и правами доступа, заданными в виде аргумента командной строки в текстовом виде, например: -rw-r–r–. Результат должен быть строго в виде отсортированного списка имен файлов. Получается сделать только какую-то одну часть задания:
#!/bin/bash
ls -l | grep -e «$1» | grep «.sh$» | awk ‘{print $9}’ > result.txt
cat result.txt | sort
Этот скрипт выводит правильные файлы, вот только это по сути не поиск: будет просмотрена только домашняя папка и все. А если в каком-то вложенном каталоге будет подходящий файл, то он будет пропущен.
#!/bin/bash
find . -type f -printf «%f\n» | grep «.sh$» > result.txt
cat result.txt | sort
Данный вариант наоборот: ищет файлы с расширением .sh, вот только как find передать права доступа в текстовом виде? Поэтому этот вариант просто выводит файлы с расширением .sh Как найти все файлы в домашнем каталоге с правами доступа, которые задаются в виде строки?