저는 다음과 같이 데이터를 정리했습니다.
--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