LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1338|回复: 10

─── 用 xargs 如何清空(不是删除)一个目录下的所有文件

[复制链接]
发表于 2009-12-26 12:12:16 | 显示全部楼层 |阅读模式
某个目录下有N个文件, 我想用一条命令清空它们,但不删除它们
用xargs应该如何实现呢?

如果用xargs实现不了,还有其他的办法吗? 最好用一条命令实现
先谢啦 ;-)

-------------

我试着用 ls xxx/ | xargs -I cat /dev/null > {} 居然失败 ;-(
发表于 2009-12-26 12:28:20 | 显示全部楼层
  1. find ./ -type f | while read line ;do >$line;done
复制代码
文件不多的话凑合用.....
回复 支持 反对

使用道具 举报

发表于 2009-12-26 13:38:41 | 显示全部楼层
find . -type f -exec cp /dev/null {} \;
回复 支持 反对

使用道具 举报

发表于 2009-12-26 13:54:51 | 显示全部楼层
Post by kingoftime3;2059476
find . -type f -exec cp /dev/null {} \;


貌似这样相当于删除重建了吧?
回复 支持 反对

使用道具 举报

发表于 2009-12-26 17:00:17 | 显示全部楼层
没注意到,那这样
for i in $(find . -type f); do :>$i; done
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-26 17:33:59 | 显示全部楼层
非常感谢楼上两位,已经满足我的需要

如果用xargs不知道如何实现。
回复 支持 反对

使用道具 举报

发表于 2009-12-26 19:34:50 | 显示全部楼层
这个好像没必要非要用xargs不可,要用的话这样
ls | xargs -i dd if=/dev/null of={}
要是想递归查看目录下所有文件将ls换成find
回复 支持 反对

使用道具 举报

发表于 2009-12-26 20:17:29 | 显示全部楼层
为什么一定要用xargs..

我觉得这个没法批量清空,用xargs只是为了用xargs,没带来任何好处..
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-27 09:33:49 | 显示全部楼层
呵呵 之所以想用xargs实现 主要是想熟练xargs的用法
谢谢大家了~
回复 支持 反对

使用道具 举报

发表于 2009-12-30 09:10:06 | 显示全部楼层
需要先进入xxx文件夹下:
cd xxx/
ls | xargs -n 1 cp /dev/null
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表