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

来源:互联网 发布:中俄翻译软件 编辑:程序博客网 时间:2024/06/06 04:44

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        


若要去掉文件名的后缀(假如该文件夹下的所有文件为.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        


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

修改为:

#!/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  



3.增加了交互性

#!/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  



转载自:http://blog.csdn.net/beckdon/article/details/23945623

0 0
原创粉丝点击