当前位置:  技术问答>linux和unix

文件名分段循环的shell问题,高手速来

    来源: 互联网  发布时间:2017-01-18

    本文导语:  2个文件夹,A文件夹里面的文件名是20111112112323-0000004-XXXXXXXX-b309234.dat.Tdat B文件内文件名是20111112102433-XXXXXXXX-XXXXXXXX-0000004.Tdat(这两个文件夹都有很多文件) 说明一下这两类文件的文件名前面是代表一个时间,现在要...

2个文件夹,A文件夹里面的文件名是20111112112323-0000004-XXXXXXXX-b309234.dat.Tdat
B文件内文件名是20111112102433-XXXXXXXX-XXXXXXXX-0000004.Tdat(这两个文件夹都有很多文件)
说明一下这两类文件的文件名前面是代表一个时间,现在要做的是将A文件夹的第二个字段和B文件夹中的第四个字段比较(即00000004和00000004)如果是一样的话,就将那两个时间输出到result目录
20111112112323 20111112102433
....
我这边有比较这两个时间段的脚本了,这个循环应该怎么写,使读一行比较一次,将result的时间点算出差值,导出到新的文件result2.txt
有点复杂,给点思路也行,高手帮帮忙,多谢了

|
#!/bin/bash

# 两个数组
file1=($(sort -t '-' -k 2 $1))
file2=($(sort -t '-' -k 4 $2))

# 两个数组当前分别在第row行
row1=0
row2=0

# 归并
while true;do
        line1=${file1[$row1]}
        line2=${file2[$row2]}

        if [ ${line1}'x' == 'x' ] || [ ${line2}'x' == 'x' ];then
                break;
        fi

        token1=$(echo ${line1} | cut -d '-' -f 2)
        token2=$(echo ${line2} | cut -d '-' -f 4)
        token2=$(echo ${token2} | cut -d '.' -f 1)

        echo -e "log : token1 : ${token1} t token2 : ${token2}"

        if [ "${token1}"  "${token2}" ];then
                echo "log if_else : >"
                let row2=row2+1
        else
                echo "log if_else : =="
                echo -ec $(echo ${line1} | cut -d '-' -f 1)"t" >> $3
                echo $(echo ${line2} | cut -d '-' -f 1) >> $3
                let row1=row1+1
                let row2=row2+1
        fi
done


if else 那里判断有问题...你研究研究为什么一样的东西反而判断成不一样了.

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • windows下文件名非法字符及相关命令
  • 怎样将WIDOWS长文件名转换为DOS长文件名显示
  • 请问如何从完整的路径加文件名中得到这个文件名?
  • 怎样让DOS支持长文件名,且能用COPY等原命令对长文件名操作?
  • jsp中如何获得当前jsp文件所在的目录,用request.getServletPath()得到的路径含有jsp文件名,有没有办法得到目录(不含文件名)?
  • 是否有系统函数将全路径文件名,格式化为文件名。如(/tmp/test.txt -> test.txt)
  • 在J++Builder7里如何去掉一个带路径的文件名的路径部分,返回不含路径部分的文件名?
  • 我要实现当进程打开文件时,根据文件名判断是否符合要求,符合后处理文件,再把文件返回给进程,怎么实现啊
  • 在AIX中如何统计一个文件夹中文件名所有包含2008的文件的大小之和
  • linux 命令 统计两个文件夹下 不同的文件(只统计文件名)
  • 我只有文件名和文件路径,怎么把该文件上传到服务器上?
  • fsck检查过的系统如何把在lost+found中以#开头的inode文件名恢复为原来的文件名?
  • 如何在File file=new File(String fileName)中的文件名用类所在的目录下的相对文件名?
  • 菜问题:请问如何根据文件中的一段内容查找文件路径和文件名称,在线等候
  • 谁能搞定最头痛的问题或给点建议:JBuilder6的大BUG——按文件名顺序编译,经常找不到文件名靠后的类
  • 如何递归删除文件夹下所有制定文件名的文件
  • 请教高手一个简单问题:给定一个文件名,如何去查找该文件正在被几个程序使用,并怎么样才可以切断这个文件与正在打开该文件的程序之间的
  • linux 下如何修改文件名,文件内容
  • fedora8:每次编辑一个文件之后,目录下面都会多一个“文件名~”的文件?
  • 不解,上传文件后压缩文件的中文文件名问题,转码也不管用?
  • 什么操作系统能建立文件名大于256的文件


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3