shell脚本删除文件命令(求一段linux shell 的删除文件命令)
本文目录
- 求一段linux shell 的删除文件命令
- shell脚本隔五分钟清理一次log文件
- linux shell 删除文件夹命令
- 用for循环编写删除文件的shell脚本
- 编写一个shell脚本,删除当前目录下空文件
- 用shell脚本中删除某文件夹下的七天之前生成的文件夹
- shell脚本遍历文件夹并删除文件太大失败
- 怎么通过你shell脚本删除文件的某一行以及后面几行
- ubuntu编写一个shell脚本,要求:删除目录及子目录下2019.02.14之前创建的文件或目录
- 用shell脚本写删除文件的命令
求一段linux shell 的删除文件命令
这个可以这样做,用awk将命令用sprintf组织好再通过system交给shellcat filenames.txt|awk ’{cmd=sprintf("if ;then rm %s;fi",$0,$0);system(cmd)}’额,这个是文件匹配的删除。文件匹配的不删除,这个处于安全考虑你要加写限制条件,我试着写了个不管那么多的#!/bin/bashls ./forrm/》 linshicat filenames.txt | awk ’{cmd=sprintf("sed -i ’s/%s//’ linshi",$0);system(cmd)}’x="`cat linshi`"cd ./forrmrm $xcd ..rm linshi总之就是比如是针对./forrm文件夹下的文件,先把列出的文件存在个临时文件里(这里不考虑重名什么的),再通过你的filenames.txt把不删的都去掉。最后剩下的删掉,删掉临时文件额,看着感觉有点蹩脚,不过可以实现或者把要删的目录下的东西跟要匹配的文件里的东西分别放在两个数组里面,像这样#!/bin/bashif ; then directory=$1 filenames=$2else exit;fiarr1=("`ls $directory`")arr2=("`cat $filenames`")cur="`pwd`"cd $directoryfor i in $arr1do for j in $arr2do if ;then continue 2; fidonerm $idonecd $cur也可以
shell脚本隔五分钟清理一次log文件
步骤一:编写自动清理日志文件shell脚本# vim logAutoClean.sh#!/bin/bashlog_path="/home/server/core/logs/app"#目录存在,删除修改时间为7天前的文件if ; then echo start delete log 7 days ago... find "${log_path}"/* -name ’*.log.gz’ -mtime +240 -exec rm -rf {} \;echo end delete log ...fi# :wq! 保存并退出步骤二:脚本文件授权(可执行权限)# chmod +x logAutoClean.sh测试一下:# sh logAutoClean.sh步骤三:创建crontab定时任务# crontab –e进入页面(第一次进入会让你选择器,这里我们选择3就ok)。设置每天凌晨1点执行(假定清除脚本在目录/home/server/core/logs/app下),crontab,增加如下行:00 01 * * * /home/server/core/logs/app/logAutoClean.sh可先设置五分钟执行一次,测试下脚本*/5 * * * * /home/server/core/logs/app/logAutoClean.sh如果定时任务不生效,重启下crond服务# service crond restart //重启服务附录:crontab用法说明crontab命令用于安装、删除或者列出用于驱动cron后台进程的表格。用户把需要执行的命令序列放到crontab文件中以获得执行。每个用户都可以有自己的crontab文件。/var/spool/cron下的crontab文件不可以直接创建或者直接修改。该crontab文件是通过crontab命令创建的在crontab文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。每个域之间使用空格或者制表符分隔。格式如下:格 式: minute hour day-of-month month-of-year day-of-week commands 合法值: 00-59 00-23 01-31 01-12 0-6 (0 is sunday)除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。crontab 命令-l 在标准输出上显示当前的crontab。 -r 删除当前的crontab文件。 -e 使用VISUAL或者EDITOR环境变量所指的器当前的crontab文件。当结束离开时,后的文件将自动安装。
linux shell 删除文件夹命令
if test x"$1" = x"-f";then if test -f $2;then rm -i $2 else echo "$2 is not a regular file" exit 1 fielif test x"$1" = x"-d" ;then if test -d $2;then echo "are you sure delete directory(y\n) $2" read answer if test x"$answer"=="y";then rmdir $2 fi exit else echo "$2 is not a directory" exit 1 fielse echo "error parameters"fi
用for循环编写删除文件的shell脚本
#!/bin/bash#2.shcd#进入加目录touch1#创建文件1read-p"请输入要删除的文件1:"fileif;thenecho"请输入1不许输入别的。谢谢!"fiforiin$file;do#用for循环把$file代入$irm-rf$i#删除$iecho"$i被删除了。"done#结束
编写一个shell脚本,删除当前目录下空文件
#!/bin/bash#当前路径MYDIR=`dirname "$0"`#切换到当前路径cd "$MYDIR"#删除当前文件夹下所有空文件夹find "$MYDIR" -type d -exec rmdir -p {} \;#对于文件夹大小大于0的文件夹无效。#$MYDIR加双引号可以删除带空格的文件夹。
试试看这个代码。
用shell脚本中删除某文件夹下的七天之前生成的文件夹
oldDate=$(date -d "-7 days" "+%Y%m%d")。
cd yourFolder #这里写你的文件夹路径。
for folder in $(ls -d */)。
do。
&& rm -rf $folder。
done。
扩展资料:
打开文本器(可以使用vi/vim命令来创建文件),新建一个文件test.sh,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了。
输入一些代码,第一行一般是这样:
#!/bin/bashecho "Hello World !""#!" 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell。
echo命令用于向窗口输出文本。
shell脚本遍历文件夹并删除文件太大失败
如果使用shell脚本遍历文件夹并删除文件太大时出现失败,可能存在以下几个原因:1. 脚本的语法错误。需要检查脚本中的语法错误,确认代码是否正确。2. 没有递归遍历到所有文件夹。需要使用递归的方式来遍历文件夹及其子文件夹。3. 删除文件时没有权限。需要使用超级用户权限执行脚本或者确保脚本执行的用户具有删除文件的权限。4. 删除文件时备份文件导致磁盘空间不足。需要确认脚本删除文件的同时不会备份文件占用过多磁盘空间。5. 文件名包含空格等特殊字符。需要对文件名进行处理,避免因特殊字符导致脚本执行失败。需要仔细检查以上几个原因,以保证shell脚本能够正确遍历文件夹并删除文件太大。
怎么通过你shell脚本删除文件的某一行以及后面几行
1、启动Linux系统,用.sh工具(xshell或者SecureCRT等)连上Linux系统。
2、在shell脚本启动时或者在脚本内都可以添加这些调试选项。测试脚本debug.sh,代码如图所示。
3、在脚本启动时添加调试选项。来调试debug.sh,可以在启动脚本时,输入以下命令:bash -x ./debug.sh 或者 sh -x ./debug.sh。
4、使用set 命令。例如要开启-x选项,则在脚本内容中添加命令:set -x set +x 是关闭调试。
5、要看debug.sh脚本执行的信息,就不需要使用bash -x ./debug.sh执行了。直接./debug.sh 就可以看到修改后的信息了,这样就完成了
ubuntu编写一个shell脚本,要求:删除目录及子目录下2019.02.14之前创建的文件或目录
Linux下使用Shell脚本删除一个目录下的所有子目录和文件#!/bin/sh#FileName:deleteDir.sh#Function:Linux下使用Shell脚本删除一个目录下的所有子目录和文件#Version:V0.1#Author:Sunrier#Date:2012-08-01CURRPATH=$PWD#DESTPATH为删除的目标目录DESTPATH="/home/Sunrier/Trash"#isNullDir函数判断进入的目录下是否存在下级子目录或者文件#存在返回1,不存在返回0isNullDir(){localNewCurrentPath=$PWDlocalNewDirName=$1cd$NewDirNamelocalNewFileList=`ls2》/dev/null`#-nstring:如果字符串不为空,则结果为真ifthenecho"目录$NewDirName下列表信息为$NewFileList"cd$NewCurrentPathreturn1elseecho"目录$NewDirName为空目录"cd$NewCurrentPathreturn0fi}
用shell脚本写删除文件的命令
在哪个目录下即可在在该目录下执行find -name "rpm -ql*"| xargs -I {} rm -rf {} 当然也可以加上目录find /目录 -name "rpm -ql*"| xargs -I {} rm -rf {}
更多文章:
excel查找函数(在Excel中如何使用查找函数“VLOOKUP“)
2024年5月28日 13:33
for语句的执行过程(请写出for语句的基本结构 并简述执行过程)
2023年9月2日 10:40
斐波那契数列python实现(用python函数写斐波那契数列是什么)
2024年8月15日 17:55
新手学编程先学c还是c++(我是编程新手,大家觉得先学c语言还是c++还是c#好)
2024年10月18日 05:45
1到33随机数字(如何在excel中生成1-33的随机整数)
2024年7月19日 04:10
浮点运算和定点运算有什么不同(数的定点表示和浮点表示的异同点)
2024年7月23日 02:18
printf和putchar的区别(putchar与printf的区别 用法注意)
2024年7月23日 00:31
excel+e+12怎么变成全数字(怎样把excle中的1.31E+12数字显示出来)
2024年7月4日 22:25
java为什么不能开发大型游戏(java 为什么不可以做大型游戏)
2024年8月5日 16:40
数据库管理员应严格控制用户账户的使用方式(SQL Server数据库管理员(DBA)的工作内容)
2024年7月4日 06:01
签名显示ip(论坛:个性签名居然能显示我的IP地址,这是怎么做到的)
2024年7月11日 03:37