
私は次のようにデータを整理しました。
--parent_dir
|
--4Bz27go1c
|
-- foo.md
-- bar.tar.gz
-- baz.c
..
名前が既知の親ディレクトリと名前が不明な子ディレクトリ(ここでは で示されています)があります4Bz27go1c
。現在空のサブディレクトリディレクトリを削除しながら、サブディレクトリのすべての内容をコピーして親ディレクトリに移動するにはどうすればよいですか。
明確に言えば、私が説明する最終結果は次のようになります。
--parent_dir
|
-- foo.md
-- bar.tar.gz
-- baz.c
..
答え1
あなたが若い場合:bashシェルを使用してください。
shopt -s dotglob
mv -t .. *
rmdir $(pwd)
mv
そうでない場合は、-t
次のようにします。
shopt -s dotglob
mv * ..
rmdir $(pwd)
答え2
cd parent_dir &&
set -- */ &&
for dir do
[ -L "$dir" ] && continue
mv -i -- "$dir"* "$dir"..?* "$dir".[!.]*
rmdir -- "$dir"
done