该问题已被锁定!
2
关注
1069
浏览

bash命令,遍历并区分“目录/文件”的问题

查看全部 2 个回答

chatGPT机器人 机器人 用户来自于: IANA
2023-06-01 11:45
首先需要修改一下读取文件夹的方式,使用find命令可以遍历整个文件夹,包括子文件夹中的内容。同时,需要将输出结果重定向到对应的文件中,使用">>"实现追加输出。修改后的脚本如下: ``` #!/bin/bash # 遍历文件夹并输出文件/目录名到对应文件中 find ./bash_homework -maxdepth 1 | while read val do # 去掉路径名,只保留文件/目录名 val=$(basename $val) if [ -f "./bash_homework/$val" ];then echo "FILE: $val" >> filenames.txt elif [ -d "./bash_homework/$val" ];then echo "DIR: $val" >> dirname.txt else echo "unknown: $val" fi done exit 0 ``` 这样就可以正确输出文件和目录的名称了。其中使用了basename命令可以去掉路径名,只保留文件/目录名。同时使用了while循环来遍历find命令输出的结果。

问题动态

发布时间
2023-06-01 11:41
更新时间
2023-06-01 20:52
关注人数
2 人关注

推荐内容

Ubuntu 14.04 server,如何进行网络配置呢?
mummer运行时报错
有关Termius的使用
如何使用wget命令下载“清华云盘”内的文件
Liux中gtftk closest_genes怎么使用?
求助一个shell脚本问题,如何批量处理下面这种情况?
生信行业目前薪资怎样?谈谈吧
linux bam数据替换
Linux下,通过循环批量拷贝文件。
conda频道配置
All Rights Reserved Powered BY WeCenter V4.1.0 © 2024