it may come from

   find . . . | grep <some file name>

which is easier to remember than the method for incorporating the grep verb in a find command.

On 08/25/2014 07:51 PM, Michael Havens wrote:
I get it!

    cat x | grep y

is redundant. did I learn that when it wasn't redundant? if it never has
been redundant I wonder why I thought the pipe was needed?

:-)~MIKE~(-:


On Mon, Aug 25, 2014 at 4:25 PM, Brian Cluff <[email protected]
<mailto:[email protected]>> wrote:

    You'll need to add some single quotes to keep the shell from
    interpreting your regex as shell code like this:

    grep -E 'error|fail' {make,install,check}.fail

    Without the single quotes you are telling the system to cat from
    your set of files and look for lines with the word error and pipe
    that to a program called fail.

    I found that I did have to add the -E even thought the man page says
    that in the GNU version of grep the basic and extended regular
    expressions are the same... it appears that is not the case in practice.

    Brian Cluff


    On 08/25/2014 12:56 PM, Michael Havens wrote:

        I have 3 files, make.fail, install.fail, and check.fail. I want
        to check
        for two words in those files: error and fail.

        would this work?

        cat {make,install,check}.fail | grep -i error|fail

        I was told to put the 'E' option in to grep. Looking at the man
        page it
        seems that the E option is only useful if I were greping for
        something
        that begins with a '{'. AM I misreading the man page?

        man quote:
                 GNU grep -E attempts to support traditional usage by
        assuming
        that { is
                 not   special  if  it  would  be  the  start  of  an
        invalid
        interval
                 specification.  For example, the command grep -E '{1'
        searches
        for  the
                 two-character  string  {1  instead  of  reporting a
        syntax error
        in the
                 regular expression.  POSIX allows this behavior as  an
        extension,  but
                 portable scripts should avoid it.



        :-)~MIKE~(-:


        On Mon, Aug 25, 2014 at 12:24 PM, Michael Havens
        <[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>> wrote:

             you guys are so helpful! Thanks.

             :-)~MIKE~(-:


             On Sun, Aug 24, 2014 at 7:40 PM, Jon Kettenhofen
        <[email protected] <mailto:[email protected]>
             <mailto:[email protected] <mailto:[email protected]>>> wrote:

                 I like visible proofs, so here's a test I ran:
                 (terminal output was as is shown)

                 [jon@localhost ~]$ rm temp
                 [jon@localhost ~]$ echo >>temp
                 [jon@localhost ~]$ echo $?
                 0
                 [jon@localhost ~]$ cat temp

                 [jon@localhost ~]$ echo >>temp 2>&1
                 [jon@localhost ~]$ echo $?
                 0
                 [jon@localhost ~]$ cat temp


                 [jon@localhost ~]$

                 as you can see, no errors and the single ">" did not
        erase the
                 file when used in this manner.  So Mike's script should
        work as
                 intended
                 at least if there is no stderr output.

                 but suppose there was an error? (apologizing for the
        length of ...)

                 [jon@localhost ~]$ echo "echo" >test
                 [jon@localhost ~]$ echo "ls temp2" >>test
                 [jon@localhost ~]$ # test ls of non-existent file
                 [jon@localhost ~]$ ls temp2
                 ls: cannot access temp2: No such file or directory
                 [jon@localhost ~]$ echo $?
                 2
                 [jon@localhost ~]$ # see, we get both an error and
        stderr message
                 [jon@localhost ~]$ # so
                 [jon@localhost ~]$ mv test test.sh
                 [jon@localhost ~]$ chgmod +x test.sh
                 bash: chgmod: command not found...
                 [jon@localhost ~]$ chmod +x test.sh
                 [jon@localhost ~]$ # i'm not perfect!
                 [jon@localhost ~]$ rm temp
                 [jon@localhost ~]$ ./test.sh >>temp
                 ls: cannot access temp2: No such file or directory
                 [jon@localhost ~]$ echo $?
                 2
                 [jon@localhost ~]$ cat temp

                 [jon@localhost ~]$ ./test.sh >>temp 2>&1
                 [jon@localhost ~]$ echo $?
                 2
                 [jon@localhost ~]$ cat temp


                 ls: cannot access temp2: No such file or directory
                 [jon@localhost ~]$

                 as you can see, Mike's script will work as he
        apparently intended,
                 providing he's using a modern version of bash.



                 On 08/24/2014 09:56 PM, James Mcphee wrote:

                     you've said make, append stdout (default file
        descriptor 1)
                     to file
                     make.fail, assign stderr (default filedescriptor 2)
        the same
                     filedescriptor as stdout.  So...  If the intent was
        to have
                     both stderr
                     and stdout append make.fail, then it is correct.


                     On Sun, Aug 24, 2014 at 6:06 PM, Michael Havens
                     <[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>
                     <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>>> wrote:

                          what I really need to know is will this:

                              make>>make.fail 2>&1

                          send stderr and stdout to the file 'make.fail'
        or did I
                     write it
                          incorrectly?

                          :-)~MIKE~(-:


                          On Sun, Aug 24, 2014 at 2:56 PM, Brian Cluff
                     <[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>
                          <mailto:[email protected]
        <mailto:[email protected]> <mailto:[email protected]
        <mailto:[email protected]>>>>

                     wrote:

                              the > will delete any file that it points
        at even
                     if the command
                              doesn't actually output anything.  It will
        even
                     delete the file
                              is the command doesn't exist like if you
        type grep
                     as gerp
                               >file, file will still be
        created/overwritten.

                              If you want to make sure that your command
        doesn't
                     overwrite any
                              existing files you have to set the
        noclobber option
                     like:
                              $ set -o noclobber

                              A good trick to know:
                              You can use the > to delete the contents
        of a file
                     without
                              having to delete and recreate the file by
        simply
                     doing this:
                              $ >yourfile

                              Brian Cluff


                              On 08/24/2014 02:36 PM, Michael Havens wrote:

                                  I have a question about redirections:

                                       make>>make.fail 2>&1

                                  tells it make and then to send (>)
        stderr (2)
                     to stdout (1)
                                  and also to
                                  send stdout that way also (&1).
        finally all of
                     that gets
                                  sent to a file
                                  named make.fail (>>). Isn't '>>' actually
                     'append' whereas
                                  '>' would
                                  work just as well so long as the file
        didn't
                     already exist?
                                  If the file
                                  did exist would I get an error or
        would the
                     file be overwritten?
                                  :-)~MIKE~(-:




        ------------------------------______---------------------
                                  PLUG-discuss mailing list -
                                  [email protected].______org
                                  <mailto:PLUG-discuss@lists.
        <mailto:PLUG-discuss@lists.>__p__hxlinux.org <http://phxlinux.org>

                     <mailto:PLUG-discuss@lists.__phxlinux.org
        <mailto:[email protected]>>>

                                  To subscribe, unsubscribe, or to
        change your
                     mail settings:
        http://lists.phxlinux.org/______mailman/listinfo/plug-discuss
        <http://lists.phxlinux.org/____mailman/listinfo/plug-discuss>

        <http://lists.phxlinux.org/____mailman/listinfo/plug-discuss
        <http://lists.phxlinux.org/__mailman/listinfo/plug-discuss>>


        <http://lists.phxlinux.org/____mailman/listinfo/plug-discuss
        <http://lists.phxlinux.org/__mailman/listinfo/plug-discuss>

        <http://lists.phxlinux.org/__mailman/listinfo/plug-discuss
        <http://lists.phxlinux.org/mailman/listinfo/plug-discuss>>__>


          ------------------------------______---------------------
                              PLUG-discuss mailing list -
                     [email protected].______org
                              <mailto:PLUG-discuss@lists.
        <mailto:PLUG-discuss@lists.>__p__hxlinux.org <http://phxlinux.org>

                     <mailto:PLUG-discuss@lists.__phxlinux.org
        <mailto:[email protected]>>>

                              To subscribe, unsubscribe, or to change
        your mail
                     settings:
        http://lists.phxlinux.org/______mailman/listinfo/plug-discuss
        <http://lists.phxlinux.org/____mailman/listinfo/plug-discuss>

        <http://lists.phxlinux.org/____mailman/listinfo/plug-discuss
        <http://lists.phxlinux.org/__mailman/listinfo/plug-discuss>>




        <http://lists.phxlinux.org/____mailman/listinfo/plug-discuss
        <http://lists.phxlinux.org/__mailman/listinfo/plug-discuss>

        <http://lists.phxlinux.org/__mailman/listinfo/plug-discuss
        <http://lists.phxlinux.org/mailman/listinfo/plug-discuss>>__>




          ------------------------------____---------------------
                          PLUG-discuss mailing list -
                     [email protected].____org
                     <mailto:PLUG-discuss@lists.__phxlinux.org
        <mailto:[email protected]>>
                          <mailto:PLUG-discuss@lists.
        <mailto:PLUG-discuss@lists.>__p__hxlinux.org <http://phxlinux.org>

                     <mailto:PLUG-discuss@lists.__phxlinux.org
        <mailto:[email protected]>>>

                          To subscribe, unsubscribe, or to change your
        mail settings:
        http://lists.phxlinux.org/____mailman/listinfo/plug-discuss
        <http://lists.phxlinux.org/__mailman/listinfo/plug-discuss>

        <http://lists.phxlinux.org/__mailman/listinfo/plug-discuss
        <http://lists.phxlinux.org/mailman/listinfo/plug-discuss>>




                     --
                     James McPhee
        [email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>
                     <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>>




                     ------------------------------____---------------------
                     PLUG-discuss mailing list -
                     [email protected].____org
                     <mailto:PLUG-discuss@lists.__phxlinux.org
        <mailto:[email protected]>>
                     To subscribe, unsubscribe, or to change your mail
        settings:
        http://lists.phxlinux.org/____mailman/listinfo/plug-discuss
        <http://lists.phxlinux.org/__mailman/listinfo/plug-discuss>

        <http://lists.phxlinux.org/__mailman/listinfo/plug-discuss
        <http://lists.phxlinux.org/mailman/listinfo/plug-discuss>>


                 ------------------------------____---------------------
                 PLUG-discuss mailing list -
        [email protected].____org
                 <mailto:PLUG-discuss@lists.__phxlinux.org
        <mailto:[email protected]>>
                 To subscribe, unsubscribe, or to change your mail settings:
        http://lists.phxlinux.org/____mailman/listinfo/plug-discuss
        <http://lists.phxlinux.org/__mailman/listinfo/plug-discuss>

        <http://lists.phxlinux.org/__mailman/listinfo/plug-discuss
        <http://lists.phxlinux.org/mailman/listinfo/plug-discuss>>





        ------------------------------__---------------------
        PLUG-discuss mailing list - [email protected].__org
        <mailto:[email protected]>
        To subscribe, unsubscribe, or to change your mail settings:
        http://lists.phxlinux.org/__mailman/listinfo/plug-discuss
        <http://lists.phxlinux.org/mailman/listinfo/plug-discuss>


    ------------------------------__---------------------
    PLUG-discuss mailing list - [email protected].__org
    <mailto:[email protected]>
    To subscribe, unsubscribe, or to change your mail settings:
    http://lists.phxlinux.org/__mailman/listinfo/plug-discuss
    <http://lists.phxlinux.org/mailman/listinfo/plug-discuss>




---------------------------------------------------
PLUG-discuss mailing list - [email protected]
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss


---------------------------------------------------
PLUG-discuss mailing list - [email protected]
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss

Reply via email to