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中,并将其复制到指定的目录下

posted @ 2019-10-24 19:23  花拾夕  阅读(3317)  评论(0编辑  收藏  举报