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

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

推荐内容

Linux中具体操作问题
linux bam数据替换
虚拟机中使用GEC进行GWAS阈值矫正
linux条件下,如何只删除文件夹
如何使用wget命令下载“清华云盘”内的文件
Ubuntu 14.04 server,如何进行网络配置呢?
conda频道配置
生信行业目前薪资怎样?谈谈吧
用pbs作业系统提交作业,发现激活conda环境失败
ROSE包 分析Super Enhancer
All Rights Reserved Powered BY WeCenter V4.1.0 © 2024