![디렉터리의 각 파일을 자체 zip 파일로 압축하는 방법(현재 디렉터리에 없는 파일)](https://linux55.com/image/188126/%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EC%9D%98%20%EA%B0%81%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%9E%90%EC%B2%B4%20zip%20%ED%8C%8C%EC%9D%BC%EB%A1%9C%20%EC%95%95%EC%B6%95%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95(%ED%98%84%EC%9E%AC%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EC%97%90%20%EC%97%86%EB%8A%94%20%ED%8C%8C%EC%9D%BC).png)
위치에 다음이 DATA/AAA/INPUT
포함된 경우N파일(파일 이름은 임의의 작업 이름임)이며 모든 파일에 대해 tar 파일을 만들어야 합니다.NDATA/AAA/OUTPUT
공통 이름 형식을 사용하는 위치의 파일입니다.
그래서 만약 있다면N파일을 INPUT
저장한 다음 OUTPUT
위치를 지정해야 합니다.Ntar 파일 형식:
log1.tar
, log2.tar
, ... , logn.tar
.
FILE_NAME_PREFIX=오늘의 EDWETLLogs= date '+%d_%m_%Y'
; 개수= ls -lrt /DEVL3/EW/EWD1/DATA/AED/INPUT | wc -l
i=1 while [[ $i -le $count ]] 실행 if [ $i -le 9 ];then
tar czvf /DEVL3/EW/EWD1/DATA/AED/OUTPUT/${FILE_NAME_PREFIX}_${today}_0${i}.tar.gz /DEVL3/EW/EWD1/DATA/AED/INPUT
else
tar czvf /DEVL3/EW/EWD1/DATA/AED/OUTPUT/${FILE_NAME_PREFIX}_${today}_${i}.tar.gz /DEVL3/EW/EWD1/DATA/AED/INPUT
fi
((i=i+1))
완벽한
위 코드를 시도했지만 생성된 출력은 모두 tar 파일로 압축된 파일이었습니다.
답변1
$ cd /path/to/DATA/AAA/INPUT
$ for file in *; do tar cf ../OUTPUT/"${file}".tar "${file}"; done