Bash Shell 通过ls命令筛选文件

news2024/9/25 1:24:42

Bash Shell 通过ls命令及其管道根据大小名称筛选文件

最近参与的项目当中有需要用pyarmor加密项目的要求,听网上吹的pyarmor都那么神,用了一下感觉也一般,试用版普通模式下文件加密居然还有大小32KB的限制,加密到一半就失败了,难绷。

失败了也不告诉别人是哪个文件大小超了,项目文件那么多,怎么好一个个去查哪个文件大于32768B?重温了一下shell,一行命令偷个懒,省得麻烦自己。

首先想到的就是ls。详解就不说了,百度一大堆,比如这个。对于我的任务而言,ls -Rlls -I即可满足。

-R # 递归处理,将指定目录下的所有文件及子目录一并处理(列出)
-l # 以长格式显示目录下的内容列表。简单而言就是更详细的信息。
-h # 以可读方式列出,如文件大小(MB,GB而非B)
-I # 忽略特定文件。如ls -I "*.py"忽略后缀为py的文件,ls -I "tests"忽略当前目录下tests文件(夹)

正好ls -Rl列出的每一行内容是由一列一列的元素组成的,可以通过awk脚本进行处理。

在这里插入图片描述
列出的内容当中,黄色框出来的是文件大小,以字节为单位,蓝色框出来的是文件(夹)名,包括后缀。我用的是KDE的桌面所以.desktop作为应用程序链接会显示其链接到的位置,这里不用管。

不懂awk脚本的可以了解下啥是三剑客:awk、grep、sed。
学习:awk基础用法 和 awk条件判断与正则 以及 awk变量解析
真是书到用时方恨少,初学linux时铁汁就都有讲过,只是都忘得差不多辣。。。Linux程序设计环境 实验1《Linux常用命令和Shell编程》

显然,我们取每一行第5列的值就可根据大小筛选文件了:

ls -Rl | awk '{if($5>32768) print$0}'

这样筛选出文件大小大于32768B的文件并输出整行内容。由于加密的只有.py文件,并且需要排除tests目录,正好文件名位于末尾,所以简单加个正则就能把.py文件筛出来了:

ls -Rl -I "tests" | awk '/^.*\.py$/' | awk '{if($5>32768) print$0}'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/354939.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux常用命令汇总

1、tcpdump抓包 tcpdump这个命令是用来抓包的,默认情况下这个命令是没有的,需要安装一下: yum install -y tcpdump 使用这个命令的时候最好是加上你网卡的名称,不然可能使用不了: tcpdump -nn -i {网卡名称} 网卡名称…

iOS开发笔记之九十六——本地Data Persistence总结笔记

本质上来说,不管是哪种缓存方式最终都会以文件的形式存储在磁盘上,只不过上层进行了某种“封装”或“抽象”,所以还是做了分类,目前iOS本地持久化缓存(Storage/Persistence)有以下几种形式:User…

vTESTstudio - VT System CAPL Functions - VT2004(续1)

成熟,就是某一个突如其来的时刻,把你的骄傲狠狠的踩到地上,任其开成花或者烂成泥。vtsStartStimulation - 启动激励输出功能:自动激励输出注意:在启动激励输出之前,一定要设置好输出模式Target:目标通道变量空间名称,例…

TLB内存页表 - LoongArch

TLB内存页表 - LoongArch 文章目录TLB内存页表 - LoongArch页表操作指令TLB相关寄存器页表格式CpuSetAttributesUEFI Memory attribute页表操作指令 LDDIR: 用于软件页表遍历过程中目录项的访问. LDPTE: 用于在软件页表遍历过程中页表项的访问. INVTLB: 用于无效TLB中的内容. …

Mybatis源码分析:Mybatis的数据存储对象

前言:SQLSession是对JDBC的封装 一:SQLSession和JDBC的对照说明 左边是我们的客户端程序,右边是我们的MySQL数据仓,或者叫MySQL实例 Mybatis是对JDBC的封装,将JDBC封装成了一个核心的SQLSession对象 JDBC当中的核心对…

2023年浙江理工大学MBA招生考试初试成绩查询及复查的通知

根据往年的情况,2023浙江理工大学MBA考试初试成绩可能将于2月21日下午两点公布,为了广大考生可以及时查询到自己的分数,杭州达立易考教育为大家汇总了信息。 一、成绩查询考生可登录中国研究生招生信息网“全国硕士研究生招生考试初试成绩查询…

二十四节气—雨水,好雨知时节,当春乃发生。

雨水,是二十四节气之第2个节气。 雨水节气不仅表明降雨的开始及雨量增多,而且表示气温的升高,意味着进入气象意义的春天。 雨水节是一个非常富有想象力和人情味的节气,在这一天,不管下不下雨都充满着一种雨意蒙蒙的诗…

nps内网穿透工具

一、准备一台有公网ip的服务器 https://github.com/ehang-io/nps/releases 在这个地址下载服务端的安装包,centos的下载这个 上传到服务器上。 二、然后解压,安装,启动 [rootadministrator ~]# tar xzvf linux_amd64_server.tar.gz [roo…

【C语言】预编译

🚩write in front🚩 🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 🏅2021年度博客之星物联网与嵌入式开发TOP5&#xff5…

[架构之路-110]-《软考-系统架构设计师》-软件架构设计-3-架构描述语言ADL与UML

前言:第3节 架构描述语言ADL3.1 ADL概述3.1.1 什么是ADLADL,即架构描述语言(Architecture Description Language)。两个重要的团体在使用架构描述语言术语。它们是:软件工程团体企业建模和工程团体。在软件工程团体,架构描述语言&…

Jvm -堆对象的划分

堆对于一个jvm进程来说是唯一的,一个进程只有一个jvm,但是进程半酣多个线程,多个线程共享一个堆。 也就是说,一个jvm实例只存在一个堆,同时对也是Java内存管理的核心区域。 Java堆区域的大小在jvm启动时就已经被确定…

基于springboot+vue的儿科保健计划免疫系统

基于springbootvue的儿科保健计划免疫系统 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背…

HDMI协议介绍

HDMI全称(High Definition Multimedia Interface)高清多媒体接口,支持在单线缆上传输全数字高清视频和多声道音频。 HDMI基于TMDS协议传输,主要用于DVD, 机顶盒等音视频source到TV,显示器等sink设备的传输。HDMI向下兼…

SpringBoot学习笔记:SpringBoot集成JPA-01

文章目录概述JPA的优点在Springboot中集成步骤1.新建springboot项目步骤2.引入相关jar包,pom.xml文件如下:步骤3. 配置文件application.properties设置步骤4. 定义表的ORM对象类步骤5. 实现数据库操作接口(Dao)步骤6. 实现Controller测试概述 JPA是一种规范&#x…

PHP学习笔记(一谦四益)

前言 上一篇文章 PHP学习笔记(观隅反三)分享了数组的知识,这篇文章接着分享和数组相关的算法。 算法效率 算法效率分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率被称…

SpringSecurity认证

文章目录登陆校验流程依赖yaml实现建表、工具类、实体类加密器、AuthenticationManager登录逻辑登录过滤器、配置过滤器登出登陆校验流程 认证 登录: ​ ①自定义登录接口 ​ 调用ProviderManager的方法进行认证 如果认证通过生成token,根据userId把用…

国密SM2算法(JS加密,C#、Java解密)

常见的渗透测试会将网站登录时密码使用明文传输视为风险。推荐使用国密算法或者RSA算法对密码进行加密传输。 RSA加密(JS加密,C#、Java解密)请参考《RSA对称加密(JS加密,C#、Java解密)》​​​​​​ 本文…

数据的进制转换以及算术逻辑运算

1.数据的进制转化 进制的表示:二进制、十六进制,二进制符号位0b,一般表示为0b0011,十六进制符号位0x或H,可以表示为0x18F或18FR进制整数转十进制:位权展开法,用R进制数的每一位乘以R的n次方&am…

C++——二叉树排序树

文章目录1 二叉搜索树概念2 二叉搜索树操作与模拟实现2.1 二叉搜索树的查找非递归版本递归版本2.2 二叉搜索树的插入非递归版本递归版本2.3 二叉搜索树的删除非递归版本递归版本3 二叉搜索树的应用(K模型、KV模型)4 二叉搜索树的性能分析1 二叉搜索树概念…

Go语言设计与实现 -- 反射

Go的反射有哪些应用? IDE中代码的自动补全对象序列化fmt函数的相关实现ORM框架 什么情况下需要使用反射? 不能明确函数调用哪个接口,需要根据传入的参数在运行时决定。不能明确传入函数的参数类型,需要在运行时处理任意对象。 …