Мой первый вопрос об этом обмене стека, и я уверен, что будет больше, когда я углублюсь в мир Linux.
У меня есть цикл for в shell-скрипте, который пакетно переименовывает все файлы в подстроку (последние n символов) своего исходного имени.
Он будет echo
каждую итерацию в новой строке, чтобы в конечном итоге создать список всех файлов, но как мне сохранить это эхо в одной строке / строке обновления, чтобы не создавать этот (иногда большой) список?
echo "- Renaming file..."
for file in `find fldr -type f`
do
newf=$(echo $file | rev | cut -c -6 | rev)
mv -f $file fldr/$newpt
echo " * $file > $newf"
done
фактический вывод ...
- Renaming file...
* file1a.txt > 1a.txt
* file2a.txt > 2a.txt
* file3a.txt > 3a.txt
* ...
желаемый вывод ...
- Renaming file...
* file3a.txt > 3a.txt
Мне бы хотелось, чтобы одна строка всегда менялась, чтобы показывать только текущий файл.
[БОНУС] Как бы мне заставить его также отображать n-й файл, который он переименовывает?
- 3 files renamed...
* file3a.txt > 3a.txt
Где n - совокупная сумма / количество файлов, переименованных.