|
Hi Guys, thanks for your reply,
awk ' /^= name*/,/^= job*/ { indx += 1; arr[indx]=$0; } \
/^= code : 10/ { match_found_10="YES"; } \
/^= code : 15/ { match_found_15="YES"; }\
/^= job*/ {if(match_found_10=="YES") { \
print "======================" >"code_10_match_file"; \
for(i=1; i<=indx; i++) \
print arr[i] >"code_10_match_file"; \
print "======================" >"code_10_match_file";\
}\
if(match_found_15=="YES") { \
print "======================" >"code_15_match_file"; \
for(i=1; i<=indx; i++) \
print arr[i] >"code_15_match_file"; \
print "======================" >"code_15_match_file";\
}\
match_found_10="NO"; indx = 0; match_found_15="NO"; }\
' input_file_name
above script is ok, but I need this for generic case, i.e., I need to cluster the records having similar "code" into individual files,
for example,
all the records having code=10 need to be stored in a file called code_10 file and
all the records having code=15 need to be stored in a file called code_15 file ...etc.
the code number varied from 0 to 255.
and if the code is 0 then we can ignore those recors.
and if input file contains codes 0,10,15,20, then the script should generate only 3 files(for 10, 15,20) ignoring 0.
Please help me
Thanks in advance
swamymns
|