使用shell脚本清空文件

使用shell脚本清空文件

在最近的项目中,会生成很多日志文件,所以需要写一个脚本来手动清空它们,下面提供几种典型方法。

方法1

代码

#!/bin/bash
##方法1
echo "" > $1
echo "$1 cleaned up."

运行截图

说明

我想大家应该注意到了文件其实并没有真正被清空,而是有一个空行。

方法2

代码

#!/bin/bash
##方法2
: > $1
echo "$1 cleaned up."

运行截图

说明

其中:是一个空命令,起到占位符的作用。这里被清空的文件不再有空行,实现真正意义的清空。

方法3

代码

#!/bin/bash
##方法3
cat /dev/null > $1
echo "$1 cleaned up."

运行截图

说明

/dev/null可以看作一个”黑洞”。所有写入它的内容都会丢失。从它那儿读取也什么都读不到。这里被清空的文件不再有空行,实现真正意义的清空。

总结

这里我只列出了三种方法,我想在linux中清空文件的方法还是有很多的,我个人比较喜欢方法2。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-15 18:32:04

使用shell脚本清空文件的相关文章

shell脚本—根据文件个数定时备份

最近在了解Jenkins时,出现这样一个问题:linux ext3系统目录下的子目录个数不能超过31998个(参考:http://www.xshell.net/linux/1267.html),但jenkins在不停的编译版本时,有时候几个小时就创建了30000多个日志文件夹的目录,从而要随时的清理此文件夹下的目录.于是就写了个脚本来实现自动备份功能.由于很久没有接触过shell,所以花了一天来实现,比较汗颜!主要是对shell的格式,语法之类的不是很了解,在网上找了些资料,边写边调试!废话不多

(转)shell脚本之文件测试操作符及整数比较符

shell脚本之文件测试操作符及整数比较符 原文:http://www.cnblogs.com/Steward-Xu/p/6722592.html 一.文件测试操作符: 在书写测试表达式是,可以使用一下的文件测试操作符. 更多的参数可以help test或者man bash 二.字符串测试操作符: 字符串测试操作符的作用:比较两个字符串是否相同.字符长度是否为0,字符串是否为null(注:bash区分长度字符串和空字符串) "="比较两个字符串是否相同,与"=="等

shell脚本复制文件夹内容到另外的文件夹,如果存在则自动备份

有时我们需要将一个文件夹覆盖到我们的工作目录,但需要自动备份已经存在的文件,一个一个去备份太麻烦了,全部备份又没有必要.shell脚本可以很好滴完成这个任务.原文链接http://back.zhizhi123.com/?p=85 #!/bin/sh upload_dir=/alidata/www/sh/useful-shell-script/upload/ www_dir=/alidata/www/sh/useful-shell-script/www/ backexist() { filelis

Shell脚本与文件的执行

1.Shell脚本程序 Shell是操作系统的"外壳",Shell为用户提供操作计算机的人机交互接口.用户对计算机的所有操作以及计算机所获得数据都是由Shell管理的. Shell 一般分2类:(1).图形Shell (2)文字Shell:Shell在操作系统上面只是一个普通的应用程序,无论其形式多么复杂,可以随需要被随时替换. 我们编程研究的是文字Shell : 命令行式, 用户登录Linux系统时,就会开启一个Shell进程为该用户提供人机交互服务:用户就可以将命令提供给Shell

利用shell脚本统计文件中出现次数最多的IP

比如有如下文件test.txt 1  134.102.173.43 2  134.102.173.43 3  134.102.171.42 4  134.102.170.9 要统计出现次数最多的IP可以利用以下shell脚本: cat test.txt | awk '{print $2}' | sort | uniq -c | sort -n -r | head -n 1 [原创]统计IP次数最多的 一条还是很常见,很实用,很简单的命令 netstat -ntu Active Internet

Shell脚本实现文件遍历和删除操作

本文需要实现的功能如下:某文件夹下具有由按数字编号命名的文件夹,需要删除除最大编码外的文件. 具体实现 大致思路:循环遍历该文件夹下所有文件,正则匹配出最大编码文件:然后循环文件,删除除最大编码外的文件. 实现代码如下: #!/bin/bash function getdir(){ max=0 DATEPATTERN="^[0-9]*$" for element in `ls $1` do if [[ "$element" =~ $DATEPATTERN ]] th

shell脚本学习-文件包含

跟着RUNOOB网站的教程学习的笔记 和其他语言一样,shell也可以包含外部脚本.这样可以很方便的封装一些公用的代码作为一个独立的文件.shell文件包含的语法有两种形式 . filename  #也就是一个英文句号后面跟着想要包含的文件名,注意中间有一个空格分开 source filename 实验的时候遇到一个问题,第二种文件包含的形式在sh中不能用,而这两种文件包含形式在bash中是都可以使用的 实例 创建两个shell脚本文件 test1.sh代码如下: #!/bin/bash # a

linux shell 脚本 历史文件清理脚本,按天,按月,清理前N天的历史文件,删除指定大小历史文件,历史文件归档清理

不知道大家那有没有要清理的这个事情.需要清理目录历史文件.可能后续也会有很多其他地方需要清理历史文件,可能会用到. 我这两天空闲写了个脚本,清理比较方便,有要进行清理的大量历史文件的话可以用. 脚本用到的命令只有linux才有,像solaris等就不支持,所以只能在linux上运行.如果是nas存储的话,可以挂载到一个linux主机上跑脚本清理. 另外,脚本查找文件用的是ls,但是ls也有最大文件的限度(大概10w以内),如果每天文件很多,每天都是10w+的,运行可能提示文件数过多无法ls. 还

shell脚本—根据文件个数定时备份(转载)

#!/bin/bash ############################### #FileName:backupLogTimer.sh #Function:定时备份日志文件 #Version:0.1 #Authon:xueya #Date:2014.06.26 ############################### #获取当前路径 path=`pwd` echo "current1 path :${path}" #循环执行 while [[ 1 -eq 1 ]] do