Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2043175
  • 博文数量: 470
  • 博客积分: 10206
  • 博客等级: 上将
  • 技术积分: 5620
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-03 12:50
文章分类

全部博文(470)

文章存档

2012年(1)

2011年(18)

2010年(47)

2009年(404)

分类:

2009-04-09 09:11:25

当前目录下面有文件或者目录
aa  
bb
cc
dd
ee
除了aa,其它都删除。

ls | grep -v "aa" | xargs rm -rf

请问 有没有什么简洁快速的命令。



您对本贴的看法:
| |
版主   帅哥 (孩儿他爹㊞)
广告杀手-老法王



CU编号: 17255
注册:2002-8-26
最后登录: 2009-04-09
帖子:
精华:







来自:中国南京
状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-4-8 11:10 
rm -rf [^a][^a]*
如果文件不多



您对本贴的看法:

__________________________________

=GNU/linux=
GNU {bash 2.05b, grep 2.5, Awk 3.1.3, sed 4.0.8}

导师说:站起来吧
众人说:那么辛苦那么艰苦到底值不值?

设计师说:富起来吧
众人说:拼啦

| |
  帅哥 (暗夜星空)
法王
休息休息



CU编号: 306408
注册:2005-8-25
最后登录: 2009-04-09
帖子:
精华:0







来自:广州<-->杭州
状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-4-8 11:11 
回复 #1 yy_galois 的帖子

find . ! -name "aa' | xargs rm -rf



您对本贴的看法:

__________________________________

有时候回答问题是信口开河......
因此不保证所有回复问题的答案的准确性.
如果正好是对的,那是碰到了死耗子..呵呵.
想着休息,不想做事!
| |

天使



CU编号: 347943
注册:2005-12-11
最后登录: 2009-04-09
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-4-8 11:15 
ls -1 | awk '$1!="aa"{system("rm -rf "$1"")}'

[ 本帖最后由 ywlscpl 于 2009-4-8 11:17 编辑 ]



您对本贴的看法:

__________________________________

shell新手&&awk新手
我的awk学习笔记
http://blog.chinaunix.net/u3/91453/showart_1798635.html
| |
  帅哥 (Boy)
精灵王
永远的学生



CU编号: 232643
注册:2005-3-3
最后登录: 2009-04-08
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-4-8 12:46 


QUOTE:
原帖由 ywlscpl 于 2009-4-8 11:15 发表
ls -1 | awk '$1!="aa"{system("rm -rf "$1"")}'

这个学习了!!!



您对本贴的看法:

__________________________________

生活中,就需要些对不公平的事说不的人!!!!
BASH SHELL|PHP 学习中...
向前看,前面才会有彩虹!


http://linuxboy823.cublog.cn
| |
  帅哥 (租房子的小朋友)
精灵



CU编号: 636072
注册:2007-11-1
最后登录: 2009-04-08
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-4-8 13:11 
find + xargs 或者 find + exec



您对本贴的看法:

__________________________________

-------------------------------------------------------------------
GNU bash, version 3.1.17(6)-release (i686-pc-cygwin)
| |

精灵王
皇家救星



CU编号: 796256
注册:2008-12-20
最后登录: 2009-04-08
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-4-8 13:16 
ls | grep -v "aa" | xargs rm -rf

算是简洁了



您对本贴的看法:

__________________________________

三分天注定 七分靠打拼
| |
  帅哥 (Xunil)
精灵
自定义头衔



CU编号: 592658
注册:2007-7-27
最后登录: 2009-04-08
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-4-8 13:35 
ls | awk '$1!="aa"{print "rm -rf "$1 | "sh"}'



您对本贴的看法:

__________________________________

农民。。。。。种田的.
| |
  帅哥 (黑哥)
精灵使



CU编号: 631768
注册:2007-10-22
最后登录: 2009-04-08
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-4-8 13:40 
bash:

CODE:
shopt -s extglob
rm !(aa)




您对本贴的看法:

__________________________________

LIVE FREE OR DIE!     K.I.S.S.


| |
(我在学习,我要进步)
精灵使
打破水锅问到底。




CU编号: 713644
注册:2008-6-3
最后登录: 2009-04-09
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-4-8 13:44 
回复 #9 blackold 的帖子

这个比较强。
shopt extglob 能在命令行采用扩充的正则表达式

extglob 可以用rm !(*jpg)这样的方式来删除所有不以jpg结尾的文件名,也可以 rm *@(jpg|png) 这样地表示“或”,当然,还有其它.....

?(pattern-list) 匹配零个或一个模式。
*(pattern-list) 匹配零个或多个模式。
+(pattern-list) 匹配一个或多个模式。
@(pattern-list) 确切匹配模式。
!(pattern-list) 匹配除指定模式以外的任何字符。

例如:ls -lad !(*.p?(df|s)) 将列出 当前目录下非 pdf 和 ps 文件。

[ 本帖最后由 我是DBA 于 2009-4-8 13:47 编辑 ]



您对本贴的看法:

__________________________________

最近很烦。。。。。
好久没来,shell都不会用了。
阅读(454) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~