Linux下查找与处理.txt文件的脚本技巧
需积分: 50 157 浏览量
更新于2024-09-01
2
收藏 519B TXT 举报
在Linux操作系统中,管理文件和目录是日常工作中不可或缺的部分。本文将探讨如何在Linux中查看路径下的所有文件名称,特别是不包括扩展名的全路径名,以及如何利用`for`循环来处理这些文件。此外,我们还会学习到如何检查文件是否存在以及创建目录。
首先,`$(cd '/usr/local/work';pwd)`这条命令是用于改变当前工作目录到指定的'/usr/local/work',然后使用`pwd`命令返回这个目录的完整路径。这样可以确保我们后续操作的路径是正确的。
接下来,`files=$(ls ${path}/*.txt)`这一行用于获取指定路径下所有`.txt`文件的列表。`ls`命令列举目录内容,`*`是通配符,匹配任何字符序列(包括空字符序列),这里与`.txt`结合,表示匹配所有.txt后缀的文件。
然后,我们遇到了一个条件判断语句,`if [ ! -d ${datapath}${backtime} ]; then`,这里的`-d`是测试是否为目录,如果 `${datapath}${backtime}` 不是一个存在的目录,那么`mkdir`命令将会创建它。这可能是为了创建特定时间或条件的备份目录。
`for file in ${files}`开始了一个`for`循环,遍历之前获取的`.txt`文件列表。在循环内部,`if test -f ${file}; then`用来确认`file`是一个存在的文件,而不是其他类型的文件系统对象。
`filepath=${file}`赋值`file`变量为当前处理的文件的全路径。`echo ${filepath}`用于打印出这个路径。接着,`tmp=${filepath##*/}`删除`filepath`中从最前面到最后一个斜杠`/`的所有字符,保留文件名。`echo ${tmp}`打印出这个文件名。
最后,`filename=${tmp%.*}`删除`tmp`(即文件名)中从最后一个点`.`到最后的所有字符,保留不包括扩展名的文件名。`echo ${filename}`同样用于打印出这个结果。
这段代码提供了在Linux环境下查看指定路径下所有`.txt`文件的全路径,并提取出不带扩展名的文件名的方法。同时,它也展示了如何在循环中对这些文件进行进一步的操作,如检查文件是否存在、创建目录等基本操作。这对于Linux系统管理、文件处理脚本编写等方面非常实用。
2020-09-15 上传
2021-01-07 上传
2022-05-27 上传
2024-09-12 上传
2023-05-24 上传
2024-09-14 上传
2023-06-06 上传
zhang2520
- 粉丝: 3
- 资源: 16
最新资源
- MySimpleStackSchool:TP2-Exercice2-Question4-Maven_IDE_Git
- 一个VC++的窗体TabView标签切换
- 毛毛叶贸易MMYEM(原名汇鑫HXIL)一键代运助手-crx插件
- meus-emprestimos:AplicaçãoWeb escrita em python flask(后端)e angular(前端)com最终定论是加泰罗尼亚语而不是citadas
- binary_tree:Rust中的二叉树
- PlayWithGjallarhorn:查看Gjallarhorn应用程序应如何通过一些用户导航进行身份验证
- jupyter notebook 机器学习
- AndroTag:带有 Android、Arduino 和 50 美元以下的激光标签(如果您已经拥有手机)
- cve资源管理器
- CS4248-Team23
- ADP_Assignment1:第10组-应用开发实践II(ADP262S)作业1 –使用MAVEN和jUnit5的软件开发基础结构
- S-d-ng-c-c-h-m-c-s-n-c-a-m-ng
- Zabbix5.0企业级分布式监控系统:从入门到精通
- bareos-zabbix:用于监控Zabbix中Bareos备份作业的脚本和模板
- fridayProjects:我们在星期五进行的每周项目!
- P-TwitchCapture