Unix command to search with a string of 6 numbers for any 3 matching numbers per line












0














Does anyone know of a UNIX command or series of commands to list lines that contains 3 matching numbers to a search with 6 numbers? For example, searching with 38 39 40 41 42 43 I would like to see combinations like 38 40 43 or 39 41 42 listed per line. Thanks.










share|improve this question






















  • Do you want only lines where these numbers are separated only by a space, and do these numbers need to be distinct and/or in the order you typed them? So what about 38 38 40 or 38 43 40?
    – Stefan Hamcke
    Dec 29 '18 at 21:42










  • Unix or UNIX. Unix is the generic name for e.g. BSD, System-V, Gnu, etc. UNIX is a brand name.
    – ctrl-alt-delor
    Dec 29 '18 at 23:27
















0














Does anyone know of a UNIX command or series of commands to list lines that contains 3 matching numbers to a search with 6 numbers? For example, searching with 38 39 40 41 42 43 I would like to see combinations like 38 40 43 or 39 41 42 listed per line. Thanks.










share|improve this question






















  • Do you want only lines where these numbers are separated only by a space, and do these numbers need to be distinct and/or in the order you typed them? So what about 38 38 40 or 38 43 40?
    – Stefan Hamcke
    Dec 29 '18 at 21:42










  • Unix or UNIX. Unix is the generic name for e.g. BSD, System-V, Gnu, etc. UNIX is a brand name.
    – ctrl-alt-delor
    Dec 29 '18 at 23:27














0












0








0







Does anyone know of a UNIX command or series of commands to list lines that contains 3 matching numbers to a search with 6 numbers? For example, searching with 38 39 40 41 42 43 I would like to see combinations like 38 40 43 or 39 41 42 listed per line. Thanks.










share|improve this question













Does anyone know of a UNIX command or series of commands to list lines that contains 3 matching numbers to a search with 6 numbers? For example, searching with 38 39 40 41 42 43 I would like to see combinations like 38 40 43 or 39 41 42 listed per line. Thanks.







text-processing






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Dec 29 '18 at 19:59









Michael RobertsMichael Roberts

1




1












  • Do you want only lines where these numbers are separated only by a space, and do these numbers need to be distinct and/or in the order you typed them? So what about 38 38 40 or 38 43 40?
    – Stefan Hamcke
    Dec 29 '18 at 21:42










  • Unix or UNIX. Unix is the generic name for e.g. BSD, System-V, Gnu, etc. UNIX is a brand name.
    – ctrl-alt-delor
    Dec 29 '18 at 23:27


















  • Do you want only lines where these numbers are separated only by a space, and do these numbers need to be distinct and/or in the order you typed them? So what about 38 38 40 or 38 43 40?
    – Stefan Hamcke
    Dec 29 '18 at 21:42










  • Unix or UNIX. Unix is the generic name for e.g. BSD, System-V, Gnu, etc. UNIX is a brand name.
    – ctrl-alt-delor
    Dec 29 '18 at 23:27
















Do you want only lines where these numbers are separated only by a space, and do these numbers need to be distinct and/or in the order you typed them? So what about 38 38 40 or 38 43 40?
– Stefan Hamcke
Dec 29 '18 at 21:42




Do you want only lines where these numbers are separated only by a space, and do these numbers need to be distinct and/or in the order you typed them? So what about 38 38 40 or 38 43 40?
– Stefan Hamcke
Dec 29 '18 at 21:42












Unix or UNIX. Unix is the generic name for e.g. BSD, System-V, Gnu, etc. UNIX is a brand name.
– ctrl-alt-delor
Dec 29 '18 at 23:27




Unix or UNIX. Unix is the generic name for e.g. BSD, System-V, Gnu, etc. UNIX is a brand name.
– ctrl-alt-delor
Dec 29 '18 at 23:27










1 Answer
1






active

oldest

votes


















0














Assuming that you have a file named file that contains lines with mutually different whitespace-separated numbers, and you have a set of 6 numbers - e.g. 38, 39, 40, 41, 42, 43 - that you want to search for in combinations of three, such that lines that consecutively contain three of these numbers in random order are listed as a result of the search, you could use:



grep -P  '((^|s+)(38|39|40|41|42|43)(?=($|s))){3}' file


which uses grep with a Perl regular expression (PCRE).






share|improve this answer























    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "106"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f491506%2funix-command-to-search-with-a-string-of-6-numbers-for-any-3-matching-numbers-per%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    Assuming that you have a file named file that contains lines with mutually different whitespace-separated numbers, and you have a set of 6 numbers - e.g. 38, 39, 40, 41, 42, 43 - that you want to search for in combinations of three, such that lines that consecutively contain three of these numbers in random order are listed as a result of the search, you could use:



    grep -P  '((^|s+)(38|39|40|41|42|43)(?=($|s))){3}' file


    which uses grep with a Perl regular expression (PCRE).






    share|improve this answer




























      0














      Assuming that you have a file named file that contains lines with mutually different whitespace-separated numbers, and you have a set of 6 numbers - e.g. 38, 39, 40, 41, 42, 43 - that you want to search for in combinations of three, such that lines that consecutively contain three of these numbers in random order are listed as a result of the search, you could use:



      grep -P  '((^|s+)(38|39|40|41|42|43)(?=($|s))){3}' file


      which uses grep with a Perl regular expression (PCRE).






      share|improve this answer


























        0












        0








        0






        Assuming that you have a file named file that contains lines with mutually different whitespace-separated numbers, and you have a set of 6 numbers - e.g. 38, 39, 40, 41, 42, 43 - that you want to search for in combinations of three, such that lines that consecutively contain three of these numbers in random order are listed as a result of the search, you could use:



        grep -P  '((^|s+)(38|39|40|41|42|43)(?=($|s))){3}' file


        which uses grep with a Perl regular expression (PCRE).






        share|improve this answer














        Assuming that you have a file named file that contains lines with mutually different whitespace-separated numbers, and you have a set of 6 numbers - e.g. 38, 39, 40, 41, 42, 43 - that you want to search for in combinations of three, such that lines that consecutively contain three of these numbers in random order are listed as a result of the search, you could use:



        grep -P  '((^|s+)(38|39|40|41|42|43)(?=($|s))){3}' file


        which uses grep with a Perl regular expression (PCRE).







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Dec 29 '18 at 23:51

























        answered Dec 29 '18 at 23:46









        ozzyozzy

        4414




        4414






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Unix & Linux Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f491506%2funix-command-to-search-with-a-string-of-6-numbers-for-any-3-matching-numbers-per%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            List directoties down one level, excluding some named directories and files

            list processes belonging to a network namespace

            list systemd RuntimeDirectory mounts