Скрипт оболочки для работы с подпапками

Я хочу написать простой сценарий оболочки, который войдет во все подпапки в каталоге и организует файлы в подпапках в новые каталоги. В основном в терминале это будет выглядеть так:

cd ../subfolder1
mkdir newfolder
mv *.txt newfolder
cd ../subfolder2
mkdir newfolder
mv *.txt newfolder
etc.

Однако команда cd, похоже, не работает для сценария оболочки. Кто-нибудь знает, как я мог это сделать?

2
задан 27 September 2018 в 09:19

1 ответ

Если Ваша структура каталогов следующие:

├── subfolder1
│   ├── foo.txt
│   └── bar.other
└── subfolder2
    ├── foo2.txt
    └── baz.old

Выполнение следующей команды:

find . -maxdepth 1 ! -path . -type d -exec sh -c "mkdir {}/newfolder && mv {}/*.txt {}/newfolder" \;

создаст ниже древовидной структуры:

├── subfolder1
│   ├── newfolder
│   │   └── foo.txt
│   ├── bar.other
└── subfolder2
    ├── newfolder
    │   └── foo2.txt
    ├── baz.old
0
ответ дан 27 September 2018 в 09:19

Другие вопросы по тегам:

Похожие вопросы: