我想创建一个shell脚本/命令,它在下面执行:
我有一个固定长度的文件,格式如下
Column No. Column Name
--------------------------
1-4 Name
5-8 Number 1
8-12 Number 2
12-34 Number 3
35-45 Some other garbage not of my use
现在,我希望找到Number 1
和Number 2
之间的差异,并将结果放在Number 1
的位置。该文件是固定长度的,所以我的差异结果应该放在5-8位。
我尝试使用awk
但未完全了解如何做到这一点。
答案 0 :(得分:1)
使用gnu awk
,您可以设置名为FIELDWITHS
的参数,如下所示:
cat file
one number data
two number more info
threedata house
awk -v FIELDWIDTHS="5 7 10" '{print $1,$2,$3}' OFS="-*-" file
one -*-number -*-data
two -*-number -*-more info
three-*-data -*-house
所以对于你的数据:
awk -v FIELDWIDTHS="4 4 4 22 10" '{print "NAME=" $1}' file