Shumaher
есть куча файлов в поддиректориях, нужно их переместить в директорию выше.
нагуглил скрипт:
dir1="/dir"
subs=ls $dir1
for i in $subs; do
mv $dir1/$i/* $dir1/$i/
done
но не работает. как сделать?
Shumaher
есть куча файлов в поддиректориях, нужно их переместить в директорию выше.
нагуглил скрипт:
dir1="/dir"
subs=ls $dir1
for i in $subs; do
mv $dir1/$i/* $dir1/$i/
done
но не работает. как сделать?
Radjah
mv $dir1/$i/* $dir1/$i/
файл сам в себя перемещается же.
Shumaher
Kukurbito
require 'find'
require 'fileutils'
Find.find('.') do |entry|
next unless File.file? entry
FileUtils.mv entry, '.'
end
Не проверял, все равно никто не запустит, LOL.
Shumaher
Shumaher
Shumaher
Shumaher
там поддиректории же еще до файлов. мне надо рекурсивно выше, а не в текущую
Kukurbito
find . -type f | xargs -n 1 -I {} -d '\n' mv {} .
Может, так?
Shumaher
переместило всё в корневую, откуда запускал, а не выше на 1 уровень
Kukurbito
А, я думал, тебе надо файлики наружу все вытащить.
echo 'mv "$1" "$(dirname "$(dirname $1)")"' >/tmp/script
chmod +x /tmp/script
find . -type f | xargs -n 1 -I {} -d '\n' /tmp/script {}
Shumaher
спасибо, помогло