linux系统 linux如何批量删除文件以某个数字开头的用户

1、删除文件夹名字以50kHz结尾的文件夾

2、删除以mpg_vcd结尾的文件夹

需要根据时间删除这个目录下的攵件/home/lifeccp/dicom/studies,清理掉20天之前的无效数据

可以使用下面一条命令去完成:

下面简要解释一下,这句shell命令:

  • -mtime:标准语句写法
  • +10:查找10天前的文件这里用数字代表天数,+30表示查找30天前的文件
  • "*.*":希望查找的数据类型"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件
  • rm -rf:强制删除文件包括目录

当然也可以根据文件名、根据大小,根据其他不同条件过滤删除或者修改等,可以考虑sort等命令结合使用因为时间有限,這里暂不赘述后面用到的时候,我在慢慢补充

本文转自 念槐聚 博客园博客,原文链接:/haochuang/p/6837055.html如需转载请自行联系原作者

需要注意的是 rmdir 只能够删除 空文件夹。 二、删除制定文件(夹)之外的所有文件呢

1、方法1,比较麻烦的做法是:

2、方法2需要在当前文件夹中进行:

说明: ls先得到当前的所有文件和文件夹的名字, grep -v keep进行grep正则匹配查找keep,-v参数决定了结果为匹配之外的结果也就是的到了keep之外的所有文件名,然后 xargs用于从 标准輸入获得参数 并且传递给后面的命令这里使用的命令是 rm,然后由rm删除前面选择的文件

好处:使用了grep来正则表达式来匹配文件名字,可鉯一次保留多个文件从而进行更加准确的处理。

4、方法4使用find命令代替ls,改进方法3从而能够处理制定文件夹的文件:

说明用grep而不用find -name选取名字,因为find选取名字时比较麻烦对正则表达式支持不够,无法排除指定文件名

5、方法5,直接使用find命令删除其他文件:

说明:上面第②行的代码效率高些原因在于删除多个文件时 -exec会启动多个进程来处理,而xargs会启动一个rm进程来处理

案例:一个文件夹下我想删除 除了abc文件 之外的所有文件,命令怎么写(linux下)

使用ls命令仅仅显示当前目录不包括.的文件.

在打开extglob模式下(缺省是打开的),ls也可以实现,而且更加灵活.

需要注意的是 rmdir 只能够删除 空文件夹。 二、删除制定文件(夹)之外的所有文件呢

1、方法1,比较麻烦的做法是:

2、方法2需要在当前文件夹中进行:

说明: ls先得到当前的所有文件和文件夹的名字, grep -v keep进行grep正则匹配查找keep,-v参数决定了结果为匹配之外的结果也就是的到了keep之外的所有文件名,然后 xargs用于从 标准輸入获得参数 并且传递给后面的命令这里使用的命令是 rm,然后由rm删除前面选择的文件

好处:使用了grep来正则表达式来匹配文件名字,可鉯一次保留多个文件从而进行更加准确的处理。

4、方法4使用find命令代替ls,改进方法3从而能够处理制定文件夹的文件:

说明用grep而不用find -name选取名字,因为find选取名字时比较麻烦对正则表达式支持不够,无法排除指定文件名

5、方法5,直接使用find命令删除其他文件:

说明:上面第②行的代码效率高些原因在于删除多个文件时 -exec会启动多个进程来处理,而xargs会启动一个rm进程来处理

案例:一个文件夹下我想删除 除了abc文件 之外的所有文件,命令怎么写(linux下)

使用ls命令仅仅显示当前目录不包括.的文件.

在打开extglob模式下(缺省是打开的),ls也可以实现,而且更加灵活.

我要回帖

更多关于 linux如何批量删除文件 的文章

 

随机推荐