【发布时间】:2018-05-18 12:04:04
【问题描述】:
有没有一种方法可以压缩文件名中包含空格的文件?我实际上正在研究一个场景。有关如何处理此问题的任何帮助都非常有用。提前致谢。
我有一个包含多个文件名列表的文本文件。可怕的部分是文件名由文件名末尾的空格组成。 示例:文本文件 - DMI.txt
DMI.txt 中的数据
DMI1 .txt
DMI2 .txt
DMI3 .txt
我需要压缩每个文本文件,但 zip 命令将“DMI1”视为 1 个文件,将“.txt”视为另一个文件。
代码
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}"