免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2689 | 回复: 5
打印 上一主题 下一主题

xargs 空格 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-21 14:53 |只看该作者 |倒序浏览
find . -maxdepth 2 | xargs -n1 du -sm
如果如果目录当中有空格,例如'a a',就会出现du a a,结果会报错,如何修改这个命令?

论坛徽章:
0
2 [报告]
发表于 2009-05-21 15:17 |只看该作者
find . -maxdepth 2|sed 's/ /" "/g'|xargs -n1 du -sm

论坛徽章:
0
3 [报告]
发表于 2009-05-21 15:37 |只看该作者

  1. find . -maxdepth 2 | xargs -i -n1 du -sm "{}"
复制代码

论坛徽章:
0
4 [报告]
发表于 2011-04-23 18:14 |只看该作者
回复 3# kwokcn


挖个坟。今天也碰到了空格文件名的问题。于是搜到了这里。用-print0 xargs -0是可以不用""的。

例如
# ls -alhc
total 20K
drwxr-xr-x 2 root root 4.0K Apr 23 17:43 .
drwxr-xr-x 5 root root 4.0K Apr 23 16:56 ..
-rw-r--r-- 1 root root    5 Apr 23 17:43 xy.old.old.xxx
-rw-r--r-- 1 root root    5 Apr 23 17:43 xy z.old.old.xxx
-rw-r--r-- 1 root root    4 Apr 23 17:43 xyz.old.old.xxx


判断每个人文件使用的块大小

find . -type f -name "xy*" -print0|xargs -0 -i du -sm {}
1        ./xy z.old.old.xxx
1        ./xyz.old.old.xxx
1        ./xy.old.old.xxx

用"{}"也可以。

有一个问题想不明白,就是很多资料说-i已经被-I取代了但是用

     find . -type f -name "xy*" -print0|xargs -0 -I du -sm {}
报告
xargs: invalid number for -s option

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
5 [报告]
发表于 2011-04-24 01:34 |只看该作者
回复 4# laohuanggua


    Try:
  1. find . -type f -name "*tem*" -print0 |xargs -0 -I {} du sm {}
复制代码

论坛徽章:
0
6 [报告]
发表于 2011-04-24 22:45 |只看该作者
回复 5# yinyuemi

有意思,{}放到了命令的前面。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP