awk 对固定长度文件的操作

在shell里面,需要对输入文件进行一些比较复杂的逻辑判断的时候,就有可能用到awk了。

例如,如果某固定长文件,第86列开始的4个字节是年份,只抽出年份>2014的行的时候,代码如下

 

#!/bin/sh

in_file=/home/xxx/xxx.in
out_file=/home/xxx/xxx.out

year=2014

cat ${in_file} | awk -v day="$year" '{FIELDWIDTHS="85 4"} {F=$2; if (F > day) print $0;}' > ${out_file}

 

你可能感兴趣的:(linux)