用空格

时间:2016-04-11 07:00:56

标签: linux shell find

在我的代码的第一行,我试图获取所有文件并将其存储在"文件"变量

某些文件名称上有空格,例如:filename.json 15-03-2015 并且由于该空间,它不被识别为文件。 有人可以帮我这个吗?

files=($(find /sapfiler/WEBADM/test/ | xargs -0))
size_oldest=0
for files in ${files[*]}
do
    echo $files
    echo "size_old="$size_oldest

    if [ -f $files ]
    then
            size_new=($(du $files  | awk '{print $1}'))
            size_oldest=`expr $size_oldest + $size_new`
    fi

    if [ $size_oldest -gt $resultFilesLimit ]
    then

    fi

完成

1 个答案:

答案 0 :(得分:0)

通常,如果变量可以包含空格,则应在变量扩展($files)周围使用双引号。因此,您必须将$files的每个发生变化为"$files"。此外,列表的初始构造在空格的情况下不起作用。我建议像:

find /sapfiler/WEBADM/test/ | while read files; do
 ... your cycle ...