Oracle && OceanBase 相关文档,希望互相学习,
共同进步
1.背景
需求:ls 查看某个文件夹的内容,排除某个文件 ,打印到某个文件中。
2. 实验
2.1 ls 排除某个文件
列出当前目录下所有文件,但不包括名为
feng.txt的文件,命令如下:
ls | grep -v feng.txt说明:
grep -v用于反向选择,即选择不匹配给定模式的行,如上 不含feng.txt
2.2 ls 和 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博客
项目管理-计算题公式【复习】_项目管理进度计算题公式:乐观-CSDN博客
项目管理-相关知识(组织通用治理、组织通用管理、法律法规与标准规范)-CSDN博客
Oracle其他文档,希望互相学习,
共同进步
Oracle-找回误删的表数据(LogMiner 挖掘日志)_oracle日志挖掘恢复数据-CSDN博客
oracle 跟踪文件--审计日志_oracle审计日志-CSDN博客
ORA-12899报错,遇到数据表某字段长度奇怪现象:"Oracle字符型,长度50"但length查却没有50_varchar(50) oracle 超出截断-CSDN博客