我把数据整理如下:
--parent_dir
|
--4Bz27go1c
|
-- foo.md
-- bar.tar.gz
-- baz.c
..
我有一个名称已知的父目录和一个名称未知的子目录(此处表示为4Bz27go1c
。如何复制子目录中的所有内容并将其移至父目录中,同时删除现在为空的子目录目录?
需要明确的是,我描述的最终结果应该如下所示:
--parent_dir
|
-- foo.md
-- bar.tar.gz
-- baz.c
..
答案1
如果你是孩子,那么:使用 bash shell,
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