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

2018/08/14 15:11
阅读数 3.4K

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

 

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部