Linux Centos 7.6에서 디렉토리의 모든 파일을 파일당 개별 아카이브로 압축하려고 합니다. 한동안 찾아보았지만 길을 찾을 수 없었습니다.
답변1
최상위 디렉토리 안팎의 모든 일반 파일에 대해 이 작업을 재귀적으로 수행한다고 가정해 보겠습니다 $topdir
.
find "$topdir" -type f -exec 7za a {} {} \;
다음을 포함하는 단일 디렉토리의 경우오직압축하려는 파일의 경우 다음을 사용합니다.
for pathname in "$topdir"/*; do
7za a "$pathname" "$pathname"
done
여기서 차이점은 숨겨진 파일은 압축되지 않는다는 것입니다. with dotglob
에서 bash
쉘 옵션을 활성화 하면 shopt -s dotglob
루프에 숨겨진 이름이 포함됩니다.
(입력이 줄어듭니다)를 사용하면 find
다음을 사용하여 단일 디렉터리의 파일을 처리할 수 있습니다.
find "$topdir" -maxdepth 1 -type f -exec 7za a {} {} \;