파일 이름에 공백이있는 파일을 압축 할 수있는 방법이 있습니까? 나는 실제로 시나리오에서 일하고있다. 이를 처리하는 방법에 대한 도움은 매우 유용합니다. 미리 감사드립니다.유닉스 파일 이름에 공백이있는 파일을 압축하는 방법
나는 여러 개의 파일 이름 목록을 포함하는 텍스트 파일을 가지고 있습니다. 끔찍한 부분은 파일 이름이 파일 이름 끝에 공백으로 구성된다는 것입니다. 예 : 텍스트 파일 - DMI.txt
DMI1 .txt
DMI2 .txt
DMI3 .txt
에서 DMI.txt
데이터 나는 각 텍스트 파일을 압축 할 필요가 있지만, 우편 명령은 1 개 파일 "이 .txt"로 "DMI1"를 치료한다 다른 파일.
코드
recdmi=$(cat $jobdir/import_dmi_hourly_file_list.txt)
while IFS= read -r recdmi
do
echo $recdmi
zip "$srcdir/\"${recdmi}\".zip" $srcdir/\"${recdmi}\"
#mv "$srcdir/\"${recdmi}\".zip" $arcdir
#rm $srcdir/\"${recdmi}\"
echo "$srcdir/\"${recdmi}\".zip $srcdir/\"${recdmi}\""
done < $srcdir/import_dmi_hourly_file_list.txt
출력 오류 따옴표는 따옴표 파일명의 문자 부분으로 간주되게된다 이스케이프
/home/nkoka/nk_dmi_partner_ingestion/"DMI_2017-11-20_10 .txt".zip /home/nkoka/nk_dmi_partner_ingestion/"DMI_2017-11-20_10 .txt"
zip warning: name not matched: /home/nkoka/nk_dmi_partner_ingestion/"DMI_2017-11-20_10
zip warning: name not matched: .txt"
zip error: Nothing to do! (/home/nkoka/nk_dmi_partner_ingestion/"DMI_2017-11-20_10 .txt".zip)
실제로 파일 이름에 해당 따옴표를 넣으려고합니까? 그렇지 않으면 zip "$ {srcdir}/$ {recdmi} .zip"을 사용해야합니다. "$ {srcdir}/$ {recdmi}" – EdmCoff