【Linux专栏】ls 排除某个文件
Oracle OceanBase 相关文档希望互相学习共同进步风123456789-CSDN博客1.背景需求ls 查看某个文件夹的内容排除某个文件 打印到某个文件中。2. 实验2.1 ls 排除某个文件列出当前目录下所有文件但不包括名为feng.txt的文件命令如下ls | grep -v feng.txt说明grep -v用于反向选择即选择不匹配给定模式的行如上 不含feng.txt2.2ls和grep排除多个文件排除多个文件如同时排除 feng.txt和anotherfile.txtls | grep -v -e feng.txt -e anotherfile.txt2.3 ls 通配符或正则表达式 排除使用ls的通配符或正则表达式排除特定模式:ls | grep -vE \.log$说明-E选项 允许使用扩展的正则表达式\.log$匹配所有以.log结尾的文件名3.综合命令解析1查看文件夹下的 txt 结尾的文件ls -l *.txt2只把文件名输出 |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.txt3print $9 潜在风险虽然该命令在许多情况下能正常工作但它存在不稳定性主要原因如下时间格式差异导致列偏移ls -l的输出格式取决于文件修改时间距今的远近。如果文件是今年修改的时间列显示为HH:MM如Jun 12 10:52此时文件名确实是第 9 列。如果文件是去年或更早修改的时间列显示为YYYY如Jun 12 2025会多占用一列导致文件名变为第 10 列。后果使用{print $9}会导致旧文件的名字截取错误可能只截取了年份部分或者新文件的名字截取正确造成结果不一致。文件名包含空格如果文件名中包含空格如my file.txtawk默认以空格分隔会将文件名拆分成多个字段$9只能获取文件名的第一部分。4优化写法 ls -1 *.txtls -1 *.txtls -1 *.txt作用是以每行一个文件的格式列出当前目录下所有扩展名为.txt的文件名ls: Linux 中列出目录内容的命令。-1 (数字 1): 强制输出格式为每行只显示一个文件。注意当ls的输出指向终端terminal时如果文件较多默认可能会多列显示如果输出被重定向到文件或管道默认通常就是每行一个。使用-1可以确保无论在哪种环境下输出都是严格的单列格式。*.txt: 通配符模式匹配当前目录下所有以.txt结尾的文件。截图5优化写法 find . -maxdepth 1 -name *.txt -printf %f\nfind . -maxdepth 1 -name *.txt -printf %f\n 或 find -name *.txt -printf %f\nfind命令不受时间格式或文件名空格的影响-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博客