知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

Shell(Bash)编程实例之获取某个文件夹下的所有文件名(含文件夹)

发布时间:2014-09-05 15:11:12作者:知识屋

Shell(Bash)编程实例之获取某个文件夹下的所有文件名(含文件夹)
 
初学shell,很多不懂,所以将自己在实际中用到的都记录下来,希望高手们多给宝贵意见,谢谢  www.zhishiwu.com  
[plain] 
#!/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        
如果要输出到一个文件的话也可以重定向到一个文件中去
修改为:
[plain] 
#!/bin/sh  
#============ get the file name ===========  
Folder_A="/home/Neo/shell/gotfilename/bin"  
Output_file="output.txt"  
#这里用于清空原本的输出文件,感觉 : 这个符号用处挺大,shell的学习还是要多用才是    www.zhishiwu.com  
: > $Output_file                                                                                                                                            
for file_a in ${Folder_A}/*; do  
    temp_file=`basename $file_a`  
    echo $temp_file >> $Output_file  
done  
 
更新(20130222日)--------增加了交互性
[html] 
#!/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  
 
似乎用 命令行配合正则表达式实现起来更好 
 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜