linux 读取文件
linux读取文件是经常要用到的操作,以下示例(说明看注释):
#读取文件snlist.txt中的每一行内容赋给sn变量 while read sn do echo ">>>>>>>sn is $sn" # 判断是否是文件 if [ ! -d "$sn" ];then echo $sn "not existed" else # 对sn进行"/"拆分并获取最后一个结果,如lib/aa结果为aa filename=`echo $sn | awk -F "/" '{print $NF}'` echo ">>>>>>> filename is $filename" if [ ! #filename ];then echo "cur filename is empty" continue fi # 统计名字为sn目录下的文件数量,不包含文件夹 count=`ls -l $sn | grep "^-" | wc -l` if [ $count -ge 1 ];then # 将名字为$sn目录下的第一层下面(即当前目录,不算子目录)的所有文件的名字记录到 $filename.txt文件中 find $sn/ -maxdepth 1 -type f > $filename.txt fi # 复制 $filename.txt到lib/filename/目录下 cp $filename.txt lib/filename/ # 删除 $filename.txt rm -rf $filename.txt fi done < snlist.txt
上述脚本功能是将snlist.txt文件(记录了某些文件目录名称)中对应的文件目录下的所有文件的名字记录到xxx.txt中,并将其复制到指定的目录下