我有一个文件需要根据搜索模式分成多个文件和不同文件的不同标题。我可以拆分文件,但无法为不同的文件添加不同的标头。这是我试过的代码:
BEGIN {
{
a=substr($0,38,2)
if(a=="HD")
{
print"a","b","c"...
OFS="|"
}
if(a=="AS")
{
print"e","f","g"...
OFS="|"
}
}
}
{
a=substr($0,38,2)
if(a=="HD")
{
FIELDWIDTHS="10 8 10 9 2 1 1 11 14 14 14 14 14 14 14 14 8 60 30 30 32 32 27 18 11 346"
OFS="|"
}
if(a=="AS")
{
FIELDWIDTHS="10 8 10 9 2 1 7 30 14 14 14 14 625"
OFS="|"
}
}
{
$1=$1
print > a".txt"
}
答案 0 :(得分:0)
为什么不按照以下方式进行操作?据我所知,设置FIELDWITHS
只有在BEGIN块中设置(或更改输入文件时...)时才能正常工作:
awk 'NR=1 { HEADER1 = "whatever" ; HEADER2 = "whatever2" ;
print HEADER1 > FIRSTFILE ;
print HEADER2 > SECONDFILE ;
}
{ a=substr($0,38,2)
OFS="|"
print $0 >> a".txt"
}' INPUTFILE