当前位置: 首页 > news >正文

Bash Shell 通过ls命令筛选文件

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}'

相关文章:

Bash Shell 通过ls命令筛选文件

Bash Shell 通过ls命令及其管道根据大小名称筛选文件 最近参与的项目当中有需要用pyarmor加密项目的要求,听网上吹的pyarmor都那么神,用了一下感觉也一般,试用版普通模式下文件加密居然还有大小32KB的限制,加密到一半就失败了&am…...

2023-2-18 刷题情况

删列造序 III 题目描述 给定由 n 个小写字母字符串组成的数组 strs ,其中每个字符串长度相等。 选取一个删除索引序列,对于 strs 中的每个字符串,删除对应每个索引处的字符。 比如,有 strs [“abcdef”,“uvwxyz”] &#xf…...

【Linux】进程控制

文章目录进程创建简单认识一下fork()函数为什么fork()会有两个返回值fork通过写时拷贝的方式创建子进程进程终止进程退出码进程退出的方式exit()和_exit()进程等待进程等待方法 -- wait()和waitpid()status参数解释waitpid()的pid参数waitpid()的options参数 - 阻塞和非阻塞进程…...

谷歌seo快排技术怎么做?Google排名霸屏推广原理

本文主要分享关于谷歌快速排名的方法和所需要的条件。 本文由光算创作,有可能会被剽窃和修改,我们佛系对待这种行为吧。 首先提出一个问题:谷歌seo快排技术怎么做?如何达到谷歌霸屏的效果? 答案是:利用谷…...

MySQL的优化

目录 一.概念 二.查看SQL执行频率 三.定位低效率执行SQL 定位低效率执行SQL—慢查询日志 操作 定位低效率执行SQL—show processlist 四.explain分析执行计划 字段说明 explain中的id explain中的select_type explain中的type explain中的table explain中的rows ex…...

实现qq群消息接收和发送功能

QQWebsocketClient是什么 实现qq群消息接收和发送功能,基于websocket技术和cqhttp服务开发 一、 效果截图 二、实现思路 使用cqhttp进行socket反向代理,获取qq聊天的所有消息 编写java客户端,连接至cqhttp服务器获取聊天消息 获取聊天消…...

压缩20M文件从30秒到1秒的优化过程

压缩20M文件从30秒到1秒的优化过程 有一个需求需要将前端传过来的10张照片,然后后端进行处理以后压缩成一个压缩包通过网络流传输出去。之前没有接触过用Java压缩文件的,所以就直接上网找了一个例子改了一下用了,改完以后也能使用&#xff0…...

如何选择合适的固态继电器?

如何选择合适的固态继电器? 在选择固态继电器(SSR)时,应根据实际应用条件和SSR性能参数,特别要考虑到使用中的过流和过压条件以及SSR的负载能力,这有助于实现固态继电器的长寿命和高可靠性。然后&#xff0…...

SAP 忘记SAP系统Client 000的所有账号密码

忘记SAP系统Client 000的所有账号密码。 Solution 在SAP系统DB中删除账号SAP*&#xff0c;SAP系统会自动创建SAP*这个账号&#xff0c;然后初始密码是“PASS”&#xff0c;这样就获得Client 000 SAP*账号。 Step by Step 以Oracle数据库为例&#xff1a; 1.以<SID>ADM账…...

Connext DDS可扩展类型Extensible Types指南

RTI Connext DDS 可扩展类型Extensible Types指南 可扩展类型Extensible TypesConnextDDSv6.1.1版本,包含了对OMG“DDS的可扩展和动态主题类型Extensible andDynamic Topic Types for DDS”规范1.3版的部分支持,该规范来自对象管理组OMG。这种支持,允许系统以更灵活的方式定义…...

Docker简单使用

文章目录1、安装配置2、服务启动3、Docker镜像下载4、Docker启动容器5、容器的常用命令6、Docker进入容器内部7、宿主机与容器交换文件8、查看日志官网地址&#xff1a;1、安装配置 sudo yum install -y yum-utils 设置镜像地址 sudo yum-config-manager \--add-repo \https:…...

A Time Series is Worth 64 Words(PatchTST模型)论文解读

摘要 我们提出了一种高效的基于Transformer设计的模型&#xff0c;用于多变量时间序列预测和自我监督表征学习&#xff08;self-supervised learning&#xff09;。它基于两个关键部分&#xff1a;1、将时间序列分隔成子序列级别的patches&#xff0c;作为Transformer的输入&a…...

微服务学习:SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

目录 一、高级篇 二、面试篇 实用篇 day05-Elasticsearch01 安装elasticsearch 1.部署单点es 2.部署kibana 一、高级篇 二、面试篇 实用篇 day05-Elasticsearch01 安装elasticsearch 1.部署单点es 1.1.创建网络 因为我们还需要部署kibana容器&#xff0c;因此需要…...

nginx平滑升级

1.平滑升级操作1.1 备份安装目录下的nginxcd /usr/local/nginx/sbin mv nginx nginx.bak1.2 复制objs目录下的nginx到当前sbin目录下cp /opt/software/nginx/nginx-1.20.2/objs/nginx /usr/local/nginx/sbin/1.3 发送信号user2给nginx老版本对应的进程kill -user2 more /usr/lo…...

高可用的“异地多活”架构设计

前言 后台服务可以划分为两类&#xff0c;有状态和无状态。高可用对于无状态的应用来说是比较简单的&#xff0c;无状态的应用&#xff0c;只需要通过 F5 或者任何代理的方式就可以很好的解决。后文描述的主要是针对有状态的服务进行分析。 服务端进行状态维护主要是通过磁盘…...

【面试题】Map和Set

1. Map和Object的区别 形式不同 // Object var obj {key1: hello,key2: 100,key3: {x: 100} } // Map var m new Map([[key1, hello],[key2, 100],[key3, {x: 100}] ])API不同 // Map的API m.set(name, 小明) // 新增 m.delete(key2) // 删除 m.has(key3) // …...

Spring之事务底层源码解析

Spring之事务底层源码解析 1、EnableTransactionManagement工作原理 开启 Spring 事务本质上就是增加了一个 Advisor&#xff0c;当我们使用 EnableTransactionManagement 注解来开启 Spring 事务时&#xff0c;该注解代理的功能就是向 Spring 容器中添加了两个 Bean&#xf…...

【华为OD机试真题 Python】创建二叉树

前言:本专栏将持续更新华为OD机试题目,并进行详细的分析与解答,包含完整的代码实现,希望可以帮助到正在努力的你。关于OD机试流程、面经、面试指导等,如有任何疑问,欢迎联系我,wechat:steven_moda;email:nansun0903@163.com;备注:CSDN。 题目描述 请按下列描达构建…...

RuoYi-Vue-Plus搭建(若依)

项目简介 1.RuoYi-Vue-Plus 是重写 RuoYi-Vue 针对 分布式集群 场景全方位升级(不兼容原框架)2.环境安装参考&#xff1a;https://blog.csdn.net/tongxin_tongmeng/article/details/128167926 JDK 11、MySQL 8、Redis 6.X、Maven 3.8.X、Nodejs > 12、Npm 8.X3.IDEA环境配置…...

uboot和linux内核移植流程简述

一、移植uboot流程 1、从半导体芯片厂下载对应的demo&#xff0c;然后编译测试demo版的uboot 开发板基本都是参考半导体厂商的 dmeo 板&#xff0c;而半导体厂商会在他们自己的开发板上移植好 uboot、linux kernel 和 rootfs 等&#xff0c;最终制作好 BSP包提供给用户。我们可…...

OneQuery:统一异构数据源查询的抽象层设计与实战

1. 项目概述&#xff1a;一个查询&#xff0c;无限可能最近在折腾一个数据聚合项目&#xff0c;需要从多个异构数据源里捞数据&#xff0c;然后统一处理。这活儿听起来简单&#xff0c;但真干起来&#xff0c;每个数据源都有自己的查询语法、连接方式和返回格式&#xff0c;光是…...

告别玄学调试:用英飞凌TC37X/TC38X的DSADC做旋变软解码,这些配置坑你别再踩了

英飞凌TC37X/TC38X DSADC旋变解码实战避坑指南 从实验室到产线&#xff1a;那些DSADC配置中容易忽视的细节 在新能源汽车电机控制领域&#xff0c;旋转变压器&#xff08;Resolver&#xff09;作为位置传感器的主力军&#xff0c;其解码稳定性直接决定了矢量控制的精度。英飞凌…...

FastAPI快速入门:环境搭建+第一个接口

FastAPI快速入门&#xff1a;环境搭建第一个接口文章信息 标题&#xff1a;FastAPI快速入门&#xff1a;环境搭建第一个接口字数&#xff1a;4200字预估阅读时间&#xff1a;18分钟难度&#xff1a;⭐☆☆☆☆一、为什么选择FastAPI&#xff1f; 在2026年的Python Web框架生态中…...

Linux驱动开发:原子操作实现LED设备互斥访问

1. 项目概述&#xff1a;用原子操作给LED驱动加把“锁”在嵌入式Linux开发里&#xff0c;驱动开发是绕不开的一环。很多时候&#xff0c;一个硬件设备&#xff0c;比如一个简单的LED灯&#xff0c;可能会被多个用户空间的应用程序同时访问。想象一下&#xff0c;一个APP想开灯&…...

基于Claude API的智能银行应用原型:AI-First前端交互架构实践

1. 项目概述&#xff1a;一个基于Claude API的智能银行应用原型 最近在GitHub上看到一个挺有意思的开源项目&#xff0c;叫“ClaudeBankingApp”。光看名字&#xff0c;你可能会觉得这是个什么复杂的金融科技产品&#xff0c;其实不然。这是一个由开发者tzockoll-creator创建的…...

基于WebRTC的P2P远程控制工具vibe-remote部署与实战

1. 项目概述&#xff1a;一个远程控制的开源解决方案最近在折腾智能家居和远程设备管理&#xff0c;发现很多场景下&#xff0c;我们需要的并不是一个功能大而全的远程桌面软件&#xff0c;而是一个轻量、快速、能穿透内网的远程控制工具。比如&#xff0c;家里的NAS需要临时重…...

避坑指南:HugeGraph-Server 0.12.0 用MySQL做后端存储,配置文件到底怎么改?(附完整流程)

HugeGraph-Server 0.12.0 MySQL后端配置深度解析与实战避坑指南 当选择MySQL作为HugeGraph-Server的后端存储时&#xff0c;配置文件的细微差异往往成为项目落地的"拦路虎"。本文将深入剖析hugegraph.properties中MySQL相关配置的每一个关键参数&#xff0c;结合典型…...

告别默认丑图表!Winform Chart控件从拖入到美化的保姆级实战(C# .NET Framework)

告别默认丑图表&#xff01;Winform Chart控件从拖入到美化的保姆级实战&#xff08;C# .NET Framework&#xff09; 刚接触Winform Chart控件的开发者&#xff0c;往往会被默认生成的图表样式震惊——拥挤的坐标轴、刺眼的网格线、毫无美感的配色&#xff0c;仿佛瞬间回到Wind…...

推理服务为什么一做对话状态复用就开始省 Token 却更容易答偏:从 Decoder State Reuse 到 Constraint Replay 的工程实战

一、状态复用一上线&#xff0c;省下 Token 却先丢了约束 很多团队把多轮对话做成“首轮完整 prefill&#xff0c;后续直接复用 decoder state”。&#x1f4c9; 账面收益很好&#xff1a;TTFT 下降&#xff0c;输入 token 费用也明显收缩。但线上很快出现另一类故障&#xff1…...

【Midjourney钯金印相风格终极指南】:20年影像工艺专家亲授——从化学印相原理到AI提示词精准转译的7步闭环工作流

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;钯金印相工艺的百年历史溯源与数字复兴语境 钯金印相&#xff08;Platinum/Palladium Printing&#xff09;诞生于19世纪末&#xff0c;是摄影史上最具质感与耐久性的手工印相工艺之一。其以铂族金属盐…...