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

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 人关注

推荐内容

mummer运行时报错
求助一个shell脚本问题,如何批量处理下面这种情况?
linux 中less -S 如何查看过长被遮盖的内容
虚拟机中使用GEC进行GWAS阈值矫正
conda频道配置
linux bam数据替换
如何使用wget命令下载“清华云盘”内的文件
生信行业目前薪资怎样?谈谈吧
Liux中gtftk closest_genes怎么使用?
All Rights Reserved Powered BY WeCenter V4.1.0 © 2024