emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#54625: closed (Why do I need to specify `-o auto` for join's `-e` op


From: GNU bug Tracking System
Subject: bug#54625: closed (Why do I need to specify `-o auto` for join's `-e` option to work?)
Date: Tue, 29 Mar 2022 15:38:01 +0000

Your message dated Tue, 29 Mar 2022 16:36:57 +0100
with message-id <e67e09b8-b39a-6fec-5c06-e04185d4bf0d@draigBrady.com>
and subject line Re: bug#54625: Why do I need to specify `-o auto` for join's 
`-e` option to work?
has caused the debbugs.gnu.org bug report #54625,
regarding Why do I need to specify `-o auto` for join's `-e` option to work?
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
54625: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=54625
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: Why do I need to specify `-o auto` for join's `-e` option to work? Date: Tue, 29 Mar 2022 10:07:08 +0200 User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Hello,

    This is a follow-up to this (yet) unanswered post on SE U&L: https://unix.stackexchange.com/q/696259/87656, which I'm cross-posting here. Don't hesitate to fire if it's the wrong place.

With the following two simple files:

a.txt

1 a
2 b
5 c

b.txt

2 x
4 y
5 z

The following command does not behave like expected:

$ join -a 1 -a 2 -e 0 a.txt b.txt 
1 a
2 b x
4 y
5 c z

I would expect the option -e 0 to fill up missing values with zeroes. However, the following does work:

$ join -a 1 -a 2 -e 0 -o auto a.txt b.txt 
1 a 0
2 b x
4 0 y
5 c z

Reading documentation from $ man join, I see no connection between -o and -e that would make the above behaviour meaningful. Instead, I find it misleading that a useless -o auto needs to be inserted into my command for -e 0 to work..

Is there an explanation, to be clarified in the manpage? Or is it a bug?

(btw:

$ join (GNU coreutils) 9.0
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Mike Haertel.

)



--
Iago-lito



--- End Message ---
--- Begin Message --- Subject: Re: bug#54625: Why do I need to specify `-o auto` for join's `-e` option to work? Date: Tue, 29 Mar 2022 16:36:57 +0100 User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Thunderbird/97.0
On 29/03/2022 09:07, Iago-lito wrote:
Hello,

      This is a follow-up to this (yet) unanswered post on SE U&L:
https://unix.stackexchange.com/q/696259/87656, which I'm cross-posting
here. Don't hesitate to fire if it's the wrong place.

With the following two simple files:

|a.txt|

|1 a 2 b 5 c |

|b.txt|

|2 x 4 y 5 z |

The following command does not behave like expected:

|$ join -a 1 -a 2 -e 0 a.txt b.txt 1 a 2 b x 4 y 5 c z |

I would expect the option |-e 0| to fill up missing values with zeroes.
However, the following does work:

|$ join -a 1 -a 2 -e 0 -o auto a.txt b.txt 1 a 0 2 b x 4 0 y 5 c z |

Reading documentation from |$ man join|, I see no connection between
|-o| and |-e| that would make the above behaviour meaningful. Instead, I
find it misleading that a useless |-o auto| needs to be inserted into my
command for |-e 0| to work..

Is there an explanation, to be clarified in the manpage? Or is it a bug?


The info doc is clearer that the output of missing fields need to be
explicitly enabled, https://www.gnu.org/software/coreutils/join :

  ‘-e STRING’
     Replace those output fields that are missing in the input with
     STRING.  I.e., missing fields specified with the ‘-12jo’ options.
I agree that the man page should mention this also,
which I've done in the attached.

Marking this as done.
thanks,
Pádraig

Attachment: join-e-usage.patch
Description: Text Data


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]