Fixed length records: Difference between revisions
Content added Content deleted
(Python example) |
Catskill549 (talk | contribs) |
||
Line 47: | Line 47: | ||
<br /><br /> |
<br /><br /> |
||
=={{header|AWK}}== |
|||
<lang AWK> |
|||
# syntax: GAWK -f FIXED_LENGTH_RECORDS.AWK |
|||
BEGIN { |
|||
vlr_fn = "FIXED_LENGTH_RECORDS.TXT" |
|||
flr_fn = "FIXED_LENGTH_RECORDS.TMP" |
|||
print("bef:") |
|||
while (getline rec <vlr_fn > 0) { # read variable length records |
|||
printf("%-80.80s",rec) >flr_fn # write fixed length records without CR/LF |
|||
printf("%s\n",rec) |
|||
} |
|||
close(vlr_fn) |
|||
close(flr_fn) |
|||
print("aft:") |
|||
getline rec <flr_fn # read entire file |
|||
while (length(rec) > 0) { |
|||
printf("%s\n",revstr(substr(rec,1,80),80)) |
|||
rec = substr(rec,81) |
|||
} |
|||
exit(0) |
|||
} |
|||
function revstr(str,start) { |
|||
if (start == 0) { |
|||
return("") |
|||
} |
|||
return( substr(str,start,1) revstr(str,start-1) ) |
|||
} |
|||
</lang> |
|||
{{out}} |
|||
<pre> |
|||
bef: |
|||
Line 1...1.........2.........3.........4.........5.........6.........7.........8 |
|||
Line 2 |
|||
Line 3 |
|||
Line 4 |
|||
Line 6 |
|||
Line 7 |
|||
Indented line 8............................................................ |
|||
Line 9 RT MARGIN |
|||
aft: |
|||
8.........7.........6.........5.........4.........3.........2.........1...1 eniL |
|||
2 eniL |
|||
3 eniL |
|||
4 eniL |
|||
6 eniL |
|||
7 eniL |
|||
............................................................8 enil detnednI |
|||
NIGRAM TR 9 eniL |
|||
</pre> |
|||
=={{header|COBOL}}== |
=={{header|COBOL}}== |
||