首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

带条件删除比xMB小的文件的Shell脚本

可以使用以下方式实现:

代码语言:shell
复制
#!/bin/bash

# 设置要删除的文件目录
directory="/path/to/directory"

# 设置文件大小的上限(单位:MB)
size_limit=10

# 遍历目录下的文件
for file in "$directory"/*
do
    # 检查文件大小是否小于指定上限
    if [ -f "$file" ] && [ $(du -m "$file" | cut -f1) -lt $size_limit ]
    then
        # 删除文件
        rm "$file"
        echo "已删除文件: $file"
    fi
done

这个Shell脚本会遍历指定目录下的所有文件,并检查文件大小是否小于指定的上限(size_limit)。如果文件大小小于上限,则会删除该文件,并输出相应的提示信息。

该脚本的使用方法如下:

  1. 将脚本保存为一个文件,例如delete_small_files.sh
  2. 打开终端,并进入脚本所在的目录。
  3. 运行以下命令给予脚本执行权限:chmod +x delete_small_files.sh
  4. 运行脚本:./delete_small_files.sh

请注意,上述脚本仅删除指定目录下的文件,不会删除子目录中的文件。如果需要删除子目录中的文件,请使用递归方式遍历目录。

推荐的腾讯云相关产品:对象存储(COS)

  • 概念:腾讯云对象存储(Cloud Object Storage,COS)是一种高可用、高可扩展、低成本的云端存储服务,适用于存储和处理大规模非结构化数据。
  • 优势:高可用性、高可扩展性、低成本、安全可靠、灵活易用。
  • 应用场景:备份与归档、大规模数据处理、静态网站托管、移动应用、音视频存储与分发等。
  • 产品介绍链接地址:腾讯云对象存储(COS)

请注意,以上答案仅供参考,具体实现方式和推荐的产品可能因实际需求和环境而异。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Shell 脚本条件测试与比较

    Shell脚本条件测试 语法 说明 test 利用test命令进行条件测试 [] 通过[]进行条件测试 [[]] 通过[[]]进行条件测试 (()) 通过(())进行条件测试 test语法 test...文件测试操作符 说明 -d 文件 文件存在且为目录为真,及测试表达式成立 -f 文件 文件存在且为普通文件为真,及测试表达式成立 -e 文件 文件存在即为真,则表达式成立,不区别文件和目录 -r 文件...-L 文件 文件存在且为链接文件为真,及测试表达式成立 f1 -nt f2 文件f1文件f2新则为真,即表达式成立,根据文件修改时间来计算 f1 -ot f2 文件f1文件f2旧则为真,即表达式成立...,根据文件修改时间来计算 字符串测试表达式 字符串测试符 说明 -n "字符串" 若字符串不为“0”,则为真,即表达式成立 -z "字符串" 若字符串为“0”,则为真,即表达式成立 "串1" = "...= "串2" 若字符串1不等于字符串2,则为真,即表达式成立 整数二次元比较符 在[]以及test中使用比较符 在(())和[[]]中使用比较符 说明 -eq ==或者= 相等 -ne !

    58520

    shell脚本if条件语句介绍和使用案例

    #前言:在生产工作中if条件语句是最常使用,如使用来判断服务状态,监控服务器CPU,内存,磁盘等操作,所以我们需要熟悉和掌握if条件语句。 简介 if条件语句,简单来说就是:如果,那么。...,如果是文件并且存在就打印相关命令 #执行效果: [root@shell scripts]# sh if.sh [guoke1] [[guoke2]] guoke3 #说明:因为/etc/hosts...[root@shell scripts]# sh if2.sh 4 input failure 4.if条件语句使用案例 4.1.检查软件包是否安装 #检查sysstat包是否安装 [root@shell...配置邮件报警功能 3.进行判断,如果取到值小于200M,就报警 4.编写shell脚本 5.加入crond定时任务,然后每3分钟检查一次 #总结:if条件语句可以做事情还有很多,大家可以根据工作需求去多多开发挖掘...,下篇将继续写shell脚本另外一个条件语句case。

    9.7K40

    shell脚本+webhook实现联动一键联动删除异常大小文件

    之前有写过 1、shell脚本实现文件自动清理并推送钉钉机器人告警 2、【Graylog告警联动篇】部署webhook服务实现自动传参并自动执行shell脚本 在文章中介绍过开源webhook工具,非常适合执行联动动作场景...现通过简单实践案例介绍shell脚本+webhook实现联动一键联动删除异常大小文件 具体步骤如下 1、monitor_files_size.sh 脚本内容如下 #!...", "text":" ##### 请确认是否删除大小异常文件 \n > ##### 待删除文件路径:template1 \..." else echo "删除文件路径:" >> ${LOCK} 2>&1 echo "删除文件路径:" echo $filePath >> ${LOCK} 2>&1...最后效果如下 告警推送消息如下 点击同意删除进行联动删除效果如下 Tips 1、webhook链接为内网地址,建议手机连入远程VPN后,即可进行手机钉钉一键联动删除 2、删除脚本写得比较粗略,

    14710

    shell脚本case条件语句介绍和使用案例

    #前言:这篇我们接着写shell另外一个条件语句case,上篇讲解了if条件语句。...case条件语句我们常用于实现系统服务启动脚本等场景,case条件语句也相当于if条件语句多分支结构,多个选择,case看起来更规范和易读 #case条件语句语法格式 case "变量" in...实践3.开发nginx启动脚本 #主要思路: #1.主要通过判断nginxpid文件有无存在,通过返回值查看有没有运行 #2.通过case语句获取参数进行判断 #3.引入系统函数库functions中...、比较,应用比较广,case条件语句主要是写服务启动脚本,各有各优势。...好了,shell脚本条件语句就讲解到这里了,接下来会继续写shell脚本循环(包括for,while等),如果写不好地方还望指出,多多交流提高,下次再会。。。

    5.8K31

    【.sh】Shell 脚本文件基础内容

    基础知识 .sh文件是什么? .sh文件Shell 脚本文件,通常用来执行一系列命令。...Shell脚本文件使用Shell编程语言编写,可以包含各种命令、条件判断、循环等,用于自动化任务、执行系统管理任务等。Shell脚本文件可以通过终端或者其他脚本执行器运行。...可以将Shell脚本看作是一种将多个Linux指令组合在一起执行方式,另外也可以包含变量、函数、条件判断和循环等程序控制结构,使得脚本更加灵活和功能强大。 2....下面是一个简单.sh文件示例,它会输出"Hello, World!"到终端: 创建sh文件,比如我创建一个名为 test01.sh shell脚本. vi test01.sh 内容如下: #!...: 2.2 示例二 输入输出+创建 以下是一个简单Shell脚本示例,它会提示用户输入姓名,并向用户打印一条欢迎消息: 创建sh文件,比如我创建一个名为 test02.sh shell脚本. vi

    17510

    效率工具:强大批量删除文件脚本

    最近打包服务器上apk包又增多了,每次手动rm操作过于麻烦,于是花了几分钟写了一个可以对指定目录下根据最后修改时间和通配符匹配进行批量删除脚本。...将这个脚本加入crontab中之后,以后就再也不用担心多余安装包占用磁盘空间了。 简短代码 1 2 3 4 5 6 7 8 9 #!.../tmp目录下,所有最后修改时间为3天前apk文件,我们只需要这样执行。...1 ruby removeOldFiles.rb "/tmp/*.apk" 3 为什么第一个参数使用双引号 第一个参数为包含通配符路径,在shell中存在一个工具就是glob会将包含通配符路径匹配到具体文件...,得到结果就是glob匹配后文件名(前提是通配符可以匹配到文件)。

    1.9K20

    通过shell脚本自动清理超过指定大小文件

    由此引出需求,查找cache目录下所有大于60Mswap.state文件并清除,即: 1)查找cache目录下所有swap.state文件 2)判断是否大于60M 3)大于60M则清空 缓存目录为...同时使用了多个管道 较为繁琐,且管道过滤之后只有文件大小,相对应文件名丢失,后续处理较麻烦,当然也可以使用数组等解决,因此放弃此方案。...更好方法: 不要使用单位输出,直接使用ls -l 输出就可以作为相应数据源。ls -l输出结果以字节为单位,简单,容易处理。...不过需要同时考虑到第一个方案缺点,因此加了两个临时变量去存储相应文件名、文件大小。...总结:采用du -sh这种自动单位换成命令去处理,麻烦多多,有时候还是简单使用"ls -l"比较好。

    3.2K00

    shell脚本逻辑判断,文件目录属

    shell脚本逻辑判断: 逻辑判断表达式:if [ $a -gt $b ]; if [ $a -lt 5 ]; if [ $b -eq 10 ]等 -gt (>); -lt(=);...a=1 那么 a 就不>3 所以就不满足条件,就是else 第三种格式:if …; then … ;elif …; then …; else …; fi 文件目录属性判断: 【 if file 】 判断是否是普通文件...,切存在 【-d file 】判断是否是目录,且存在 【 -e file 】判断文件或目录是否存在 【 -r file 】判断文件是否可读 可写 可执行 = 类似 判断不同写法:【 -f $f 】||...,或者被删除的话,脚本就会运行出错,出现bug 应该加上一个判断条件 #!...: 在网卡系统服务脚本中,如,/etc/init.d/iptables中就用到了case 在case中,可以在条件中使用“|”,表示或意思 输入一个同学分数,判断成绩是否及格,优秀。

    1.4K50

    Shell脚本中逐行读取文件命令方法

    - 使用echo显示输出内容,输出内容包括自定义字符串和变量,$rows变量为文本文件每行内容 Tips:可以将上面的脚本缩减为一行命令,如下: [root@localhost ~]# cat mycontent.txt...|while read rows;do echo "Line contents are : $rows";done 方法三、使用传入文件名作为参数 第三种方法将通过添加$1参数,执行脚本时,在脚本后面追加文本文件名称...创建一个名为“ example3.sh”脚本文件,如下所示: [root@localhost ~]# cat example3.sh #!...创建一个名为“ example4.sh”脚本文件,如下所示: [root@localhost ~]# cat example4.sh #!.../bin/bash cat mycontent.txt |awk '{print "Line contents are: "$0}' 运行结果: 总结 本文介绍了如何使用shell脚本逐行读取文件内容

    9K21
    领券