尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

【Linux专栏】ls 排除某个文件

【Linux专栏】ls 排除某个文件
📅 发布时间:2026/7/14 6:57:14

Oracle && OceanBase 相关文档,希望互相学习,共同进步

风123456789~-CSDN博客


1.背景

需求:ls 查看某个文件夹的内容,排除某个文件 ,打印到某个文件中。

2. 实验

2.1 ls 排除某个文件

列出当前目录下所有文件,但不包括名为feng.txt的文件,命令如下:

ls | grep -v feng.txt

说明:grep -v用于反向选择,即选择不匹配给定模式的行,如上 不含feng.txt

2.2ls和grep排除多个文件

排除多个文件,如:同时排除 feng.txt和anotherfile.txt

ls | grep -v -e feng.txt -e anotherfile.txt

2.3 ls 通配符或正则表达式 排除

使用ls的通配符或正则表达式排除特定模式:

ls | grep -vE '\.log$'

说明:-E选项 允许使用扩展的正则表达式,\.log$匹配所有以.log结尾的文件名

3.综合命令解析

1)查看文件夹下的 txt 结尾的文件

ls -l *.txt

2)只把文件名输出 |awk '{print $9}'

知识点:

awk: 强大的文本处理工具默认以空格或制表符为分隔符将每一行分割成多个字段(列)

$9: 表示第 9 个字段。在标准的ls -l输出中,前 8 个字段通常是:权限、硬链接数、所有者、所属组、文件大小、月份、日期、时间(或年份),第9个字段是文件名。

print $9: 打印每行的第 9 个字段

ls -l *.txt | awk '{print $9}'

以上命令,输出当前文件夹中的 .txt 的文件,并打印每行的第9个字段(文件名称),结果:

3)排除某个文件

ls -l *.txt|grep -v file-common-1.0.0.jar.txt | awk '{print $9}'

以上命令,排查了 file-common-1.0.0.jar.txt

3)print $9 潜在风险

虽然该命令在许多情况下能正常工作,但它存在‌不稳定性‌,主要原因如下:

  • ‌时间格式差异导致列偏移‌:
    ls -l的输出格式取决于文件修改时间距今的远近。

    • 如果文件是‌今年‌修改的,时间列显示为HH:MM(如Jun 12 10:52),此时文件名确实是第 ‌9‌ 列。
    • 如果文件是‌去年或更早‌修改的,时间列显示为YYYY(如Jun 12 2025),会多占用一列,导致文件名变为第 ‌10‌ 列。
    • ‌后果‌:使用{print $9}会导致旧文件的名字截取错误(可能只截取了年份部分),或者新文件的名字截取正确,造成结果不一致。
  • ‌文件名包含空格‌:
    如果文件名中包含空格(如my file.txt),awk默认以空格分隔,会将文件名拆分成多个字段,$9只能获取文件名的第一部分。

4)优化写法 ls -1 *.txt

ls -1 *.txt

ls -1 *.txt作用是‌以每行一个文件的格式,列出当前目录下所有扩展名为.txt的文件名

  • ls‌: Linux 中列出目录内容的命令。
  • ‌-1‌ (数字 1): 强制输出格式为‌每行只显示一个文件‌。
    • 注意:当ls的输出指向终端(terminal)时,如果文件较多,默认可能会多列显示;如果输出被重定向到文件或管道,默认通常就是每行一个。使用-1可以确保无论在哪种环境下,输出都是严格的单列格式。
  • ‌*.txt‌: 通配符模式,匹配当前目录下所有以.txt结尾的文件。

‌

截图:

5)优化写法 find . -maxdepth 1 -name "*.txt" -printf "%f\n"

find . -maxdepth 1 -name "*.txt" -printf "%f\n" 或 find -name "*.txt" -printf "%f\n"

find命令不受时间格式或文件名空格的影响:

  • -maxdepth 1:仅在当前目录查找,不递归子目录。
  • -printf "%f\n":仅打印文件名(不含路径)。

6)打印输出到文件中

#列表名单 NH_JAR="/home/nh_xx.txt" ls -1 *.txt | grep -v file-common-1.0.0.jar.txt > ${NH_JAR}

缩减命令:

ls -1 *.txt | grep -v file-common-1.0.0.jar.txt > /home/sxnhtc/mcro/backups_log/nh_jar.txt

实验验证:ok


项目管理--相关知识

项目管理-项目绩效域1/2-CSDN博客

项目管理-项目绩效域1/2_八大绩效域和十大管理有什么联系-CSDN博客

项目管理-项目绩效域2/2_绩效域 团不策划-CSDN博客

高项-案例分析万能答案(作业分享)-CSDN博客

项目管理-计算题公式【复习】_项目管理进度计算题公式:乐观-CSDN博客

项目管理-配置管理与变更-CSDN博客

项目管理-项目管理科学基础-CSDN博客

项目管理-高级项目管理-CSDN博客

项目管理-相关知识(组织通用治理、组织通用管理、法律法规与标准规范)-CSDN博客


Oracle其他文档,希望互相学习,共同进步

Oracle-找回误删的表数据(LogMiner 挖掘日志)_oracle日志挖掘恢复数据-CSDN博客

oracle 跟踪文件--审计日志_oracle审计日志-CSDN博客

ORA-12899报错,遇到数据表某字段长度奇怪现象:“Oracle字符型,长度50”但length查却没有50_varchar(50) oracle 超出截断-CSDN博客

EXP-00091: Exporting questionable statistics.解决方案-CSDN博客

Oracle 更换监听端口-CSDN博客

相关新闻

  • 2026年九宫格拼图工具实测排行,手机电脑都能用 - 软件工具教程方法
  • OpenGL运行环境搭建学习01篇【Related to https://learnopengl-cn.github.io/】
  • 我的世界Java版安装指南:从Java环境配置到游戏启动完整教程

最新新闻

  • CPM4OSSP-PROXY核心功能解析:软件包依赖管理的终极指南
  • 2026筑宅安|汕尾卫生间漏水专业维修,解决墙面潮湿发霉、渗水到楼下难题 - 筑宅安
  • TLS 1.3 握手过程动画级讲解 + Wireshark 验证
  • 掌握NVIDIA Wan2.2-T2V-A14B-Diffusers-NVFP4的提示词工程:从基础到高级创作技巧
  • 3分钟上手VibeThinker-3B-4bit:MLX框架下的极速部署指南
  • 宝珀中国官方售后服务中心|官方电话和网点地址权威信息通知(2026年7月更新) - 宝珀官方售后服务中心

日新闻

  • AWS SSM安全运维实践:零公网暴露的合规远程开发方案
  • Tableau 2024.1 图表选择指南:5种业务场景与最佳图表类型匹配
  • dsPIC33FJ与CMT-8540S-SMT在嵌入式音频处理中的高效应用

周新闻

  • IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结
  • Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动
  • SAP EPIC 建行回单查询:从标准类CL_EPIC_EXAMPLE_CN_CCB_GHTD到Z类的5处关键修改

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号