How can I use xargs to copy files that have spaces and quotes in their names?

后端 未结 22 1070
春和景丽
春和景丽 2020-12-02 03:49

I\'m trying to copy a bunch of files below a directory and a number of the files have spaces and single-quotes in their names. When I try to string together find

22条回答
  •  粉色の甜心
    2020-12-02 04:21

    If find and xarg versions on your system doesn't support -print0 and -0 switches (for example AIX find and xargs) you can use this terribly looking code:

     find . -name "*foo*" | sed -e "s/'/\\\'/g" -e 's/"/\\"/g' -e 's/ /\\ /g' | xargs cp /your/dest
    

    Here sed will take care of escaping the spaces and quotes for xargs.

    Tested on AIX 5.3

提交回复
热议问题