`
kanpiaoxue
  • 浏览: 1745363 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

结合find使用xargs

 
阅读更多

 

 

结合find使用xargs xargs和find算是一对死党。两者结合使用可以让任务变得更轻松。不过人们通常却是以一

种错误的组合方式使用它们。例如:

     $ find . -type f -name "*.txt"  -print | xargs rm -f

这样做很危险。有时可能会删除不必要删除的文件。我们没法预测分隔find命令输出结果 的定界符究竟是什么('\n'或者' ')。很多文件名中都可能会包含空格符(' '),因此xargs 很可能会误认为它们是定界符(例如,hell text.txt会被xargs误解为hell和text.txt)。

只要我们把find的输出作为xargs的输入,就必须将 -print0与find结合使用,以字符null ('\0')来分隔输出。

用find匹配并列出所有的 .txt文件,然后用xargs将这些文件删除: 

$ find . -type f -name "*.txt" -print0 | xargs -0 rm -f

这样就可以删除所有的.txt文件。xargs -0将\0作为输入定界符。

 

删除当前文件下面超过2天没有发生改变的文件夹

$ find . -type d -ctime +2 -print0 | xargs -0 rm -rf

 

分享到:
评论

相关推荐

    LINUX与UNIX SHELL编程指南

    第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改时间...

    Linux shell 编程

    第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改时间查找文件 ...

    Linux之删除带有空格的文件(不是目录)

    首先我们演示一下find命令结合xargs命令删除不带空格的文件 [root@ELK-chaofeng test]# touch 1.txt 2.txt [root@ELK-chaofeng test]# ls 1.txt 2.txt [root@ELK-chaofeng test]# find . -type f | xargs ./1.txt ....

    LINUX与UNIX_Shell编程指南(上)

    第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改时间查找文件 ...

    Linux与unix shell编程指南(1-16)

    第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改时间查找文件 ...

    Shell高级培训

    结合find执行命令或动作 1.3.10.让find跳过特定的目录 2.用grep在文件中搜索文本 正则表达式 2.1.在文件中搜索一个单词 2.8.1.递归搜索文件 2.8.2.忽略样式中的大小写 2.8.3.用grep匹配多个样式 2.8.4.在grep...

    LINUX 与 UNIX SHELL编程指南

    第 2 章 使用 find 和 xargs 14 2.1 find 命令选项 14 2.1.1 使用 name 选项 15 2.1.2 使用 perm 选项 16 2.1.3 忽略某个目录 16 2.1.4 使用 user 和 nouser 选项 16 2.1.5 使用 group 和 nogroup 选项 16 ...

    Linux与unix shell编程指南

    第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改时间查找文件 ...

    linux shell 编程教程

    第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改时间查找文件 ...

    shell 编程指南pdf

    第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改时间查找文件 ...

    LINUX与UNIX SHELL编程指南(很全)

    第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改时间查找文件 ...

    linux与unix shell 编程(下)

    第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改时间查找文件 ...

    LINUX与UNIX SHELL编程指南.rar

    第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改时间查找文件 ...

    Linux与unix shell编程指南1.rar

    第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改时间查找文件 ...

    shell教程-30章,下了之后会让你大吃一惊,相当好

    第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改时间查找文件 ...

Global site tag (gtag.js) - Google Analytics