find/xargs遇到文件名带空格的问题

之前写的一个shell函数里面用到的find/xargs在遇到一些名称带空格的文件时报错,印象中曾在王垠的博客看到过find与xargs有参数解决这种情况,查了一下需要分别使用-print0-0来把空格当作特殊字符对待。函数是用来对整个目录做cksum,修改后如下:

function check_sum() {
    local dir=$1
    local dirsum=0
    for sum  in $(find ${dir} -type f -print0 | xargs -0 cksum | awk '{print $1}')
    do
        dirsum=$(( ${sum} + ${dirsum} ))
    done
    echo ${dirsum}
}

find/xargs遇到文件名带空格的问题》上有5条评论

  1. 职位推荐

    王先生您好,我是猎头nick,不好意思打扰了。
    华为正在招聘高端职位,您是他们寻找的候选人之一,请问方便联系吗?期待您的回复。上面是我的邮箱。

    回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注