linux shell下除了某个文件外的其他文件全部删除的命令
来源:互联网 发布:linux 通过代理上网 编辑:程序博客网 时间:2024/05/16 15:14
Linux反选删除文件
最简单的方法是
# shopt -s extglob (打开extglob模式)
# rm -fr !(file1)
如果是多个要排除的,可以这样:# rm -rf !(file1|file2)
Linuxrm删除指定文件外的其他文件方法汇总
一、Linux下删除文件和文件夹常用命令如下: 删除文件夹:
需要注意的是,
1、方法1,比较麻烦的做法是:
复制需要保留的文件到其他文件夹,然后将该目录删除,
rm
2、方法2,需要在当前文件夹中进行:
rm
rm
3、方法3,当前文件夹中结合使用grep和xargs来处理文件名:
说明:
好处:使用了grep来正则表达式来匹配文件名字,可以一次保留多个文件,从而进行更加准确的处理。
4、方法4,使用find命令代替ls,改进方法3从而能够处理制定文件夹的文件:
find
说明,用grep而不用find
5、方法5,直接使用find命令删除其他文件:
find
说明:上面第二行的代码效率高些,原因在于删除多个文件时
关于find
Linux文件查找命令find,xargs详述
rm删除除去指定文件的剩余所有文件 (rm 反向删除)
zhou@zhou:~/LinuxC/file/test$ ls
1 23sdfwe 88888888 aabb ag ghdda mmm
23 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的左边),
转自:http://blog.sina.com.cn/s/blog_67e34ceb01014930.html1
2
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
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前面加上^,后面加上$表示结束符的意思,这个就是完全匹配了。
好了,就这么多。但愿以后能用到这个有用的命令
整体再顺一下:列出文件名不带“aa”串的文件,然后删除他们。OK。
其实说起来简单,当时我也做了好长时间,因为以前没怎么接触grep,因此一开始我想到的办法是使用正则表
达式,但是在做的过程中突然发现了grep使个不错的东西,因此就使用了。
上面的命令使删除带有“aa”串的文件,那如果我只想留下文件aa呢?很简单
zhou@zhou:~/LinuxC/file/test$rm `ls | grep -v"^aa$" `
在aa前面加上^,后面加上$表示结束符的意思,这个就是完全匹配了。
好了,就这么多。但愿以后能用到这个有用的命令
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
案例:一个文件夹下我想删除
find
ls
rm
如果文件很多的情况下,不要用这种方法……
要用2楼的方法……
mv
rm
mv
反向显示文件
使用ls命令仅仅显示当前目录不包括.的文件.
ls加grep过滤的方式:ls -al | grep -v '\.'(ls --ignore=.* -al也可实现)。
在打开extglob模式下(缺省是打开的),ls也可以实现,而且更加灵活.
shopt -u extglob #关闭
shopt -s extglob #打开
ls -al !(*.*)
ls -al -d !(*.*)
转载地址:http://blog.csdn.net/taiyang1987912/article/details/41488395
0 0
- linux shell下除了某个文件外的其他文件全部删除的命令
- linux shell下除了某个文件外的其他文件全部删除的命令
- linux shell下除了某个文件外的其他文件全部删除的命令
- linux shell下除了某个文件外的其他文件全部删除的命令
- linux shell下除了某个文件外的其他文件全部删除的命令
- linux shell下除了某个文件外的其他文件全部删除的命令
- Linux下删除除了某个文件外的其他文件
- Linux shell命令 删除除了某个文件之外的所有文件
- linux 除了某个文件或某个文件夹以外全部删除
- linux 除了某个文件或某个文件夹以外全部删除
- linux 除了某个文件或某个文件夹以外全部删除
- Linux 删除除了某个文件之外的所有文件
- Linux 删除除了某个文件之外的所有文件
- Linux删除除了某个文件之外的所有文件
- linux删除除了某个文件之外的文件
- Linux 删除除了某个文件之外的所有文件
- 在Linux下删除 除了某个文件之外的所有文件/目录
- 删除某个文件外的其他文件
- Android自助餐之解析zip
- CVS使用手册
- 使用FileUtils实现一个简易文件下载器
- java中Json,Map,实体之间的转换
- 将数据模型(数组)转换为json字符串
- linux shell下除了某个文件外的其他文件全部删除的命令
- Retrofit官网翻译
- c++笔记(1)
- Android的Touch Mode
- 抽象类 和 接口
- [SCOI2005] 最大子矩阵
- Codeforces Round #357 (Div. 2) B. Economy Game
- Android 常用知识总结2
- elasticsearch-jdbc实现MySQL同步到ElasticSearch深入详解