|
|
发表于 2007-10-28 09:57:03
|
显示全部楼层
Post by showboy
ll -1 /your_dir/D* | grep ^- | cut -d " " -f8 | xargs rm -rf
慎用
呵呵,讨论一下:
这种写法恐怕会让看到的人更迷惑,因为并不是约定俗成的写法,只能让人去猜,楼主倒并没有猜错
本意应该是让每行都只输出一个文件,但是 ls 会自动判断,如果输出是管道的话,本来就是一行一个文件名。如果用 ls | less 来测试一下就会清楚了。(这一点有些吹毛求疵了 :cool: )
这个视乎楼主的要求,如果是子目录下又有子目录的话,恐怕就达不到目的了。
这个cut用的相当的悬,一般情况下,如果不能确定空白字符的数量的话,还是用 awk 来分比较稳妥,如 awk '{print $8}'
- ll -1 /your_dir/D* | grep ^- | cut -d " " -f8 | xargs rm -rf
复制代码
整体上再说一下,这条命令没有考虑到文件名会有空格的可能,在实际运用中有可能会出现没有预料到的结果。
呵呵,不好意思,有点无聊+啰嗦,希望 showboy 不要见怪。 |
|