shell判断文件大小怎么写

shell判断文件大小怎么写,第1张

find命令会递归查找,尤其适合有嵌套目录(子目录)的情况。

如果当前目录下没有子目录,只有文件,那么也可以这样处理txt文件。

for ofile in *.txt

do

   size=`wc -c ofile | cut -d" " -f1`

   [ $size -gt $((105*1024*1024)) ] && mv $ofile /home/bak

done

有时候,我们需要生成指定大小的随机文件,比如在学习过程中使用的测试文件。

dd命令用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

注意:指定数字的地方若以下列字符结尾则乘以相应的数字:b=512;c=1;k=1024;w=2

命令:

Linux:/qinys # dd if=/dev/zero of=tmp.data bs=100m count=3

命令解释:

该命令会创建一个大小为100m的文件tmp.dataif代表输入文件(input file),of代表输出文件(output file),bs代表以字节为单位的块大小(block size,BS),count代表被复制的块数。(如果把count=3,那么文件大小为300M)《Linux就该这么学》一起学习linux

/dev/zero是一个字符设备,他会不断的返回0值字节(\0)

cat test.sh

#!/bin/sh

file=$1

file_size=`du $file | awk '{print $2}'`

if [ $file_size -ge 10485760 ]

then

cp -p $file $file-bak

fi

chmod +x test.sh

./test.sh 1.txt

逐行解释

1.

查看脚本文件test.sh

2.

定义脚本默认用sh执行

3.

将文件路径赋予file变量。$1

表示位置变量即下面的1.txt

4.

计算文件大小并赋予file_size变量

5.

如果文件大小大于等于10m.

10485760为10m,-ge为大于等于。

6.

if语法关键字

7.

将文件重命名备份

8.

if语法关键字

9.

空行

10.

赋予脚本test.sh可执行权限

11.

执行脚本,输入位置变量1.txt.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11540013.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存