当前位置:首页 » 网页前端 » shell脚本根据大小切割文件
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

shell脚本根据大小切割文件

发布时间: 2022-07-27 12:07:11

Ⅰ shell脚本 把大文件内容拆分到小文件里

split –l 10000 原始文件 拆分后文件名前缀
参考:
http://jingyan..com/article/456c463b6f2e390a583144fe.html

Ⅱ 设计一个shell脚本,对该文件夹下的所有文件按照大小进行排序,从大到小输出每个文件的名字和大小

这不一行命令就搞定了吗:

ls -lS | awk '{print $9 " " $5}'

你可以将它保存为一个 shell 脚本。

命令运行截图

ls -lS 的作用是查看文件信息,并以文件大小降序。

awk '{print $9 " " $5}' 的作用是从这些信息中过滤出文件名和文件大小,以空格隔开。

Ⅲ Shell脚本得到文件夹大小

ls -ld 文件夹路径 | awk '{print int($5/1024)}'
或者:
-b 文件夹路径 | awk '{print int($1/1024)}'

跟你上面计算文件大小类似,得到的都是以KB为单位的大小。
如果要以Byte为单位,不要除以1024也不要int取整就是了。

注意:Linux的ext2或ext3文件系统会给目录分配一个inode块(索引节点),用来记录文件信息,所以文件夹的大小不是简单地将其中文件大小累加就能得到的,还包括了这个索引节点的大小。索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。

Ⅳ shell脚本:需根据文件的大小进行压缩

sh -x yourshell
看看每个步骤
你的第一步就有问题了, file就是把目录下的文件全都列出来了,取第二列就是文件名了。怎么去和2000000比较???
tar也有问题,你压缩成什么?少了参数吧。。。
rm也有问题。你才压缩一个文件,就把整个目录干掉了、、、

find . -size +2M 这样不就把文件大于2M的弄出来了。。。仅供参考:
[root@localhost ~]# ls -sh a
27M a
[root@localhost ~]# find . -size +2M
./a
[root@localhost ~]# find . -size +2M -exec tar cjf /tmp/{}.tar.bz2 {} \;
[root@localhost ~]# ls /tmp/
a.tar.bz2

Ⅳ linux环境下,用shell脚本对一个文件内容拆分到指定文件里面

首先取出ecas三行存入变量 ecasproperties
ecasproperties=(cat full.propertites|grep ecas)
再把其写入ecas下的配置文件
echo $ecasproperties>>ecas/config.properties

其他的依此类推
或者直接一个命令cat full.propertites|grep ecas>>ecas/config.properties

Ⅵ 求教shell脚本截取文本

亲,sed的参数用双引号。我给你的代码用的是单引号因为你提问时问的是bbbb

而不是$line
sed -n '/^'"$line"'$/,$p'

单引号内不会发生变量扩展
双引号会发生变量扩展,但是$属于元字符所以需要转义。
小米飞猫的回答也是不对的,因为$/ $p会被shell替换成空字符串。并没有传递给sed命令。