在shell脚本中使用空格处理文件名

如何在shell脚本中处理包含空格的文件。

这是我正在尝试

find /abc/xyz -name 'BY567*.csv' | while read fname do mv "$fname" ./archive/$(basename $fname)-$(date +%Y%m%d-%T) done 

但是当我这样做的时候,它的空间后的文件名称。 如果文件名是BY567_Test file.csv,它将被更改为BY567_Test-datetimestamp而不是BY567_Test file.csv-datetimestamp。

将双引号放在行末和basename中:

 mv "$fname" "./archive/$(basename "$fname")-$(date +%Y%m%d-%T)" 

variables将被解释和空格应该是确定的。