У меня есть куча папок в папке A
. Я хочу переместить файлы из всех этих папок в A
.
Или
Я хочу вырезать все файлы из дочерних папок и вставить их в родительскую папку.
Как это сделать?
Перейдите в каталог A
и запустите
find . -mindepth 2 -type f -print -exec mv {} . \;
, что означает «найти все файлы в этом каталоге и его подкаталогах и выполнить mv с целевым каталогом. Для каждого найденного файла, чтобы переместить их в текущий каталог.
Хорошо Вы могли создать файл и назвать его "cutme" (для создания файла, названного cutme в терминальном типе nano cutme
. Для сохранения его нажимают, CTRL+X затем нажимают ENTER.), например, и вставка следующее в нем предполагающий, что:
find * -type f -print -not -type d -and -not -regex 'cutme' -exec mv {} .. \;
Отметьте имя cutme в строке. Это должно совпасть со скриптом, который Вы запустите.
После создания файла и вставки вышеупомянутая строка, выполненная следующее в той же папке как сценарий:
chmod +x cutme
. Это даст Вашему новому файлу флаг "Executable", таким образом, можно будет выполнить его как это: ./cutme
.