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