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}
}

5 thoughts on “find/xargs遇到文件名带空格的问题

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

Leave a Reply

Your email address will not be published. Required fields are marked *