如何遍历文件并附加数据?

时间:2016-03-27 12:59:58

标签: unix awk

在我的awk代码中,我试图找到一种迭代文件(data1.txt)并附加文件行的方法 如果是,则计算文件行数 文件行==" 04"

的substr($ 0,29,2)

DATA1.TXT

6597243042 20160305001100003140152852153019000127000200
6597243042 20160305001100003140170306190306020000000200
6597243042 20160305001100003140170552190552020000000200
6597243042 20160305001100003140201430201543000113000400
6592311319 20160305041100003460072719072839000120001200
6592311319 20160305041100003460072927072952000025001200

在这种情况下只有2行符合条件(substr($ 0,29,2)==" 04")

    Filename="def"
    file="data1.txt"
    #awk '{count1=0}'
    while IFS= read line
    do

       awk '{ if (substr($0,29,2)=="04") {print substr($0,29,4)}}' 

    done <"$file"

1 个答案:

答案 0 :(得分:1)

做你想要做的事情就是:

awk '{print $0, (substr($0,29,2)=="04") ? substr($0,29,4) : "")}' "$file"

但是您的输入文件没有任何情况下29/30的字符是04所以idk ......