将内容从名称未知的文件夹上移到一个目录

将内容从名称未知的文件夹上移到一个目录

我把数据整理如下:

--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

相关内容