AWK input can not be longer than 3000 bytes

Hi,

i have following line in my code.

eport.pl < $4 | dos2ux | head -2000 | paste -sd\| - | awk -v S="$1" '

Issue is, i get a message saying "awk:input line | found /file/path cannot be longer than 3000 bytes."
"source line number is 3"

Can someone help me with this please?

It means what it says: it can't take lines longer than 3000 bytes.

how do i break my line in to 2? My awk is really bad, so any help would be very nice.

This limitant does not exist in gawk

To be honest i don't quite get what you are trying to achieve: you take 2000 lines of some text and concatenate this to one big line, separated by "|". (Small wonder, the line exceeds 3000 characters.)

You have omitted the awk script itself, so i can't say what it does and how it could be changed to work on the normal file, but maybe you could rearrange the pipeline so that "awk" comes before "paste"?

I'd like to warn you: using "gawk" or any other non-standard tool will maybe limit the usability of your script to a certain platform and/or certain system. It is usually better to limit oneself to the resources the system offers without any non-standard tool. This is similar to using non-ANSI C constructs in programming: you pay the price with very complicated porting process sooner or later.

I hope this helps.

bakunin