Shell获取某个文件夹下的所有文件名(含文件夹)

1. 获取某个文件夹下的所有文件名(含文件夹),并显示

#!/bin/sh 
#============ get the file name =========== 
Folder_A="/home/youname/shell/gotfilename/bin" 
for file_a in ${Folder_A}/*
do 
temp_file=`basename $file_a` 
echo $temp_file 
done

2、若要去掉文件名的后缀(假如该文件夹下的所有文件为.txt格式),则代码为

#!/bin/sh 
#============ get the file name =========== 
Folder_A="/home/youname/shell/gotfilename/bin" 
for file_a in ${Folder_A}/*
do 
temp_file=`basename $file_a .txt` 
echo $temp_file 
done

3、如果要输出到一个文件的话也可以重定向到一个文件中去

复制代码
#!/bin/sh 
#============ get the file name =========== 
Folder_A="/home/Neo/shell/gotfilename/bin" 
Output_file="output.txt" 
#这里用于清空原本的输出文件,感觉 : 这个符号用处挺大,shell的学习还是要多用才是 
: > $Output_file 
for file_a in ${Folder_A}/*
do 
temp_file=`basename $file_a` 
echo $temp_file >> $Output_file 
done
复制代码

4、增加了交互性

复制代码
#!/bin/sh 
#============ get the file name =========== 
echo -e "请输入你要读取的文件夹路径\n当前路径为${PWD}" 
read InputDir 
echo "你输入的文件夹路径为${InputDir}" 
echo -e "请输入你要将数据输出保存的文件路径n当前路径为${PWD}" 
read OutputFile 
echo "输出保存的文件路径为${OutputFile}" 
: > $OutputFile #清空OutputFile 
#循环读取文件夹名 
for file_a in ${InputDir}/*
do 
temp_file=`basename $file_a` 
echo $temp_file >> $OutputFile 
done
复制代码

 

posted @   慎终若始  阅读(11138)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示