Нужно написать скрипт, который печатал бы в файл путь к файлу, а затем его (файла) имя.
То есть должно выглядеть примерно так :
./Documents/important/file1
./Documents/important/file2
./Documents/file3
и так далее
Надо, чтобы были написаны все файлы, которые находятся (рекурсивно) в заданной директории.
Я написал так (как промежуточный момент)
Код: Выделить всё
#!/bin/bash
ls -R1>text.tmp
amount=`wc -l text.tmp|awk '{print $1}'` # количество строк в файле -работает
i=1
Path=no
while [ "$Path" = "no" ]
do
n=` sed '$i!d' text.tmp ` # выводит одну строку из списка - работает
echo $n
second=${n:1:2} # второй символ в строке- не работает
echo $second
slash=\\
if [[ "$second" = "$slash" ]]
then Path=$n
else i=$i+1
fi
done
exit 0
echo $Path
Проблема в том, что та переменная, которая должна быть равна второму символу в строке всегда равна двоеточию, более того компьютер сначала выписывает все имена файлов, а только затем переменную второго символа и так заново.
Обьясните, пожалуйста, почему так происходит и как можно исправить.
Заранее спасибо