Re: printing words without newlines?

Bruce Horrocks <[email protected]>
Newsgroups alt.comp.lang.awk,comp.lang.awk
Message-ID <[email protected]>
On 12/05/2024 09:52, Bruce Horrocks wrote:
> On 12/05/2024 05:57, David Chmelik wrote:
>> I'm learning more AWK basics and wrote function to read file, sort,
>> print.  I use GNU AWK (gawk) and its sort but printing is harder to get
>> working than anything... separate lines work, but when I use printf() or
>> set ORS then use print (for words one line) all awk outputs (on FreeBSD
>> UNIX 14 and Slackware GNU/Linux 15) is a space (and not even newline
>> before shell prompt)... is this normal (and I made mistake?) or am I
>> approaching it wrong?  I recall BASIC prints new lines, but as I learned
>> basic C and some derivatives, I'm used to newlines only being 
>> specified...
>> ------------------------------------------------------------------------
>> # print_file_words.awk
>> # pass filename to function
>> BEGIN { print_file_words("data.txt"); }
>>
>> # read two-column array from file and sort lines and print
>> function print_file_words(file) {
>> # set record separator then use print
>> # ORS=" "
>>    while(getline<file) arr[$1]=$0
>>    PROCINFO["sorted_in"]="@ind_num_asc"
>>    for(i in arr)
>>    {
>>      split(arr[i],arr2)
>>      # output all words or on one line with ORS
>>      print arr2[2]
>>      # output all words on one line without needing ORS
>>      #printf("%s ",arr2[2])
>>    }
>> }
>> ------------------------------------------------------------------------
>> # sample data.txt
>> 2 your
>> 1 all
>> 3 base
>> 5 belong
>> 4 are
>> 7 us
>> 6 to
> 
> You need to set ORS in the BEGIN { } section (or on the command line).
> 
> See 
> <https://www.gnu.org/software/gawk/manual/html_node/Output-Separators.html> for an example - just replace the "\n\n" in the example with " " to see the effect you are looking for.
> 

Let me re-phrase that: it would be better to set ORS in the BEGIN {} 
section. I'm not sure why yours is not working but with some commented 
out code and some not, your example is unclear.

If what I have suggested doesn't work for you then please re-post your 
exact code.

-- 
Bruce Horrocks
Surrey, England
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.