Я играл с mv, и теперь у меня ситуация. Раньше, скажем, в Folder1 был файл1,2,3.
Теперь у Folder1 есть Folder2, у которого есть Folder3, у которого есть Folder4, который содержит file1,2,3.
Я пытаюсь написать сценарий bash таким образом, чтобы он определял промежуточные папки, содержащие только 1 каталог, и перемещал все его содержимое на один уровень вверх, в конечном итоге возвращая только Folder1-> file1,2,3, а остальные удаленные папки.
Я пытался написать что-то вроде ниже, но я:
1. невозможно различить файл и папку
2. не удается найти имя файла / каталога, хранящегося в текущей папке
3. Не знаю, как делать рекурсивно.
#!/bin/bash
echo "Directory Name?"
read dir_name
no_files=`ls -A| wc -l`
if [ $no_file==1 ] && [ itisaDirectory()];
then `mv folder_name/* dir_name`
fi
[ -d "$file" ]
будет истинным, если$file
- это каталог. - person tripleee   schedule 12.09.2015mv
.) - person tripleee   schedule 12.09.2015