tools: rm -vf !(*.sh) 删除 除了
rm all files except *.sh
rm -vf !(*.sh)
rm `ls | grep -v "aa"`rm `ls | grep -v "^aa$" `ls | grep -v abc | xargs -i rm -rf {}
linux shell下除了某个文件外的其他文件全部删除的命令- 乌托邦 ...
linux shell下除了某个文件外的其他文件全部删除的命令
2014年11月25日 20:22:42 乌托邦2号 阅读数 82786更多
分类专栏: Shell基础
Linux反选删除文件
最简单的方法是
# shopt -s extglob (打开extglob模式)
# rm -fr !(file1)
如果是多个要排除的,可以这样:
# rm -rf !(file1|file2)
Linuxrm删除指定文件外的其他文件方法汇总
一、Linux下删除文件和文件夹常用命令如下: 删除文件: rm file
删除文件夹: rm -rf dir
需要注意的是, rmdir 只能够删除 空文件夹。 二、删除制定文件(夹)之外的所有文件呢?
1、方法1,比较麻烦的做法是:
复制需要保留的文件到其他文件夹,然后将该目录删除, 然后将需要保留的移动 回来。 mv keep ../ #保留文件(夹) keep
rm -rf * #删除当前文件夹里的所有文件 mv ../keep ./ #将原来的东西移动回来
2、方法2,需要在当前文件夹中进行:
rm -rf !(keep) #删除keep文件之外的所有文件
rm -rf !(keep1 | keep2) #删除keep1和keep2文件之外的所有文件
3、方法3,当前文件夹中结合使用grep和xargs来处理文件名: ls | grep -v keep | xargs rm #删除keep文件之外的所有文件
说明: ls先得到当前的所有文件和文件夹的名字, grep -v keep,进行grep正则匹配查找keep,-v参数决定了结果为匹配之外的结果,也就是的到了keep之外的所有文件名,然后 xargs用于从 标准输入获得参数 并且传递给后面的命令,这里使用的命令是 rm,然后由rm删除前面选择的文件。
好处:使用了grep来正则表达式来匹配文件名字,可以一次保留多个文件,从而进行更加准确的处理。
4、方法4,使用find命令代替ls,改进方法3从而能够处理制定文件夹的文件:
find ./test/ | grep -v keep | xargs rm #删除当前test文件夹中keep文件之外的所有文件
说明,用grep而不用find -name选取名字,因为find选取名字时比较麻烦,对正则表达式支持不够,无法排除指定文件名。
5、方法5,直接使用find命令删除其他文件:
find ./ -name '[^k][^e][^e][^p]*' -exec rm -rf {} \; #删除keep以外的其他文件。 find ./ -name '[^k][^e][^e][^p]*' | xargs rm -rf #删除keep以外的其他文件。推荐!
说明:上面第二行的代码效率高些,原因在于删除多个文件时 -exec会启动多个进程来处理,而xargs会启动一个rm进程来处理。
关于find 执行命令的效率和借用xargs启动的命令效率的比较,详情请参考:http://www.linuxsir.org/main/?q=node/137
Linux文件查找命令find,xargs详述 http://www.linuxsir.org/main/?q=node/137 本文转载自:http://blog.sina.com.cn/s/blog_70ffb5c501011rrk.html
rm删除除去指定文件的剩余所有文件 (rm 反向删除)
zhou@zhou:~/LinuxC/file/test$ ls
1 23sdfwe 88888888 aabb ag ghdda mmm
2 3 aaaaaaaa abc asdg llllllll wwwww
zhou@zhou:~/LinuxC/file/test$
然后我想删除除了包含字符串aa外所有的文件,也就是想留下aabb,aaaaaaaa,这两个文件,其他的全部删除
下面是我的命令:
zhou@zhou:~/LinuxC/file/test$ rm `ls | grep -v"aa"`
zhou@zhou:~/LinuxC/file/test$ ls
aaaaaaaa aabb
zhou@zhou:~/LinuxC/file/test$
所以了,成功了。
简单的解释一下那条命令吧:rm 删除后面指定的文件
`ls | grep -v "aa" ` 记得外面是反引号(反引号的位置就在标准键盘的数字1的左边),
ls:查看当前目录下所有的文件,使用grep命令过滤一下grep -v "aa" 就是找出字符串中不带“aa”的。
整体再顺一下:列出文件名不带“aa”串的文件,然后删除他们。OK。
其实说起来简单,当时我也做了好长时间,因为以前没怎么接触grep,因此一开始我想到的办法是使用正则表
达式,但是在做的过程中突然发现了grep使个不错的东西,因此就使用了。
上面的命令使删除带有“aa”串的文件,那如果我只想留下文件aa呢?很简单
zhou@zhou:~/LinuxC/file/test$rm `ls | grep -v"^aa$" `
在aa前面加上^,后面加上$表示结束符的意思,这个就是完全匹配了。
好了,就这么多。但愿以后能用到这个有用的命令
转自:http://blog.sina.com.cn/s/blog_67e34ceb01014930.html
linux 删除其他文件
http://zhidao.baidu.com/link?url=uvHfrb3kSnM_8p5ILhZyc39U0h3md-Ncrm3iaygeYTLU-zjthNBlqO674VulVGTnPiNcl2nj7wo5vn08N4481_
求教 linux centos我想删除某目录中文件名不符合"*20100330*"这样规则的文件应该怎么删除?
假设目录名为myTest且为当前目录的下一级目录,使用如下命令即可:
cd ./myTest && rm `ls | grep -v '20100330'` && cd ..进入myTest目录,删除文件后返回当前目录。grep的-v参数表示反向选择。一般使用rm删除文件的时候会有确认提示,如果不要确认,直接强制删除,可以使用rm的-f参数。
其他1条回答
find ./ -type f \! -name "*20100330*" -exec rm -rf {} \;
如何反向选择文件并删除
http://bbs.csdn.net/topics/390077765
案例:一个文件夹下我想删除 除了abc文件 之外的所有文件,命令怎么写(linux下)
find . -maxdepth 1 -type f -not -name 'abc' -exec rm '{}' ';'
ls | grep -v abc | xargs -i rm -rf {}
rm -f `ls | grep -v abc`
如果文件很多的情况下,不要用这种方法……
要用2楼的方法……
mv abc /tmp
rm *
mv /tmp/abc .
反向显示文件
使用ls命令仅仅显示当前目录不包括.的文件.
ls加grep过滤的方式:ls -al | grep -v '\.'(ls --ignore=.* -al也可实现)。
在打开extglob模式下(缺省是打开的),ls也可以实现,而且更加灵活.
shopt -u extglob #关闭
shopt -s extglob #打开
ls -al !(*.*)
ls -al -d !(*.*)
tools: rm -vf !(*.sh) 删除 除了相关推荐
- rm 使用正则表达式 删除文件
1.rm 使用正则表达式 删除文件: ls|grep -E "prodmabyuser.*-155[0-9]{10}\.jpg"|xargs rm 2.获取最新修改时间的一个文件 ...
- linux rm 提示无法删除“xxxxxxx“:不允许的操作
项目场景: linux rm 提示无法删除"xxxxxxx":不允许的操作 问题描述 文件删除不掉 linux rm 提示无法删除"xxxxxxx":不允许的操 ...
- 命令行——rm命令(删除)详解
转自:http://man.linuxde.net/rm rm命令 rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉.对于链接文件,只是删除整个链 ...
- rm 命令过滤式删除
rm 命令过滤式删除 一.使用扩展通配符 二.find命令法 三.shell脚本 一.使用扩展通配符 1) 开启扩展通配符shopt -s extglob 2) 查看是否开启shopt -s 3) 使 ...
- 【Linux】rm 命令:删除文件/文件夹
文章目录 一.删除文件/文件夹:rm 命令 二.删除文件(即这个文件被删除) 三.删除文件夹 四.注意 参考链接 一.删除文件/文件夹:rm 命令 rm 是强大的删除命令,它可以 永久性地 删除文件系 ...
- R语言dplyr包summarise_at函数计算dataframe数据中多个数据列(通过向量指定)的均值和中位数、指定na.rm参数配置删除缺失值
R语言dplyr包summarise_at函数计算dataframe数据中多个数据列(通过向量指定)的均值和中位数.指定na.rm参数配置删除缺失值(Summarize with Custom Fun ...
- linux rm rf 无法删除文件夹,最暴力的 rm -rf 命令居然删除目录失败了!为什么?...
当我们在Linux系统中卸载软件或清理数据时,经常会使用rm -rf命令去删除某个目录,例如删除/tmp/tektea目录: # rm -rf /tm/tektea rm命令的-r和-f这两个参数的m ...
- 编译u-boot时候,make distclean 出现rm:无法删除,****是一个目录
今天在编译u-boot的时候,make distclean,出现了rm:无法删除 "include/asm-arm/arch": 是一个目录.经过查看网友的解决办法,已经解决了. ...
- python rm 条件_删除文件 (rm)
# 附录A-练习14:删除文件 (rm) 这节练习中,你将学会如何使用`rm`命令删除一个文件. ### 做到这些 ### Linux ~~~ $ cd temp $ ls uncool.txt ia ...
最新文章
- Ubuntu18.04安装教程及SLAM常用软件安装教程
- 数据库收缩数据文件的尝试(二)(r11笔记第9天)
- 第一个只出现一次的字符位置
- The 2007 Microsoft Office System RTM is ready to rock !
- onRetainNonConfigurationInstance和getLastNonConfigurationInstance
- 大剑无锋之面试问到了Kafka???【面试推荐】
- flask渲染图像_用于图像推荐的Flask应用
- 标志寄存器EFLAGES
- 基于二进制粒子群算法的配电网故障诊断- 附代码
- 在GitHub上学黑客 --- 黑客成长技术清单
- 麒麟系统常见问题详解
- c++ windows console 快速编辑模式 关闭
- 微信开放平台:网站应用-微信登录
- Java_167_Thread_线程安全synchronized_模拟选座_List「Integer」
- GAMIT安装报错:Type mismatch / Rank mismatch
- java公路车组装教程_自行车DIY入门教程,图文展示自行车组装全过程。(原创图文,转载请注明出处)...
- Android签名与校验过程详解
- 【python】绘制箱体图/蜡烛图/K线图
- python找出列表中最长/短的字符串及他们的长度、下标
- 网络工程师成长日记309-西安李宁项目