digits in string












0















I am validating string with some standards. It should start wih R- and proj_nm as a variable and project_cd as numbers and any desc
i.e, R-${PROJ_NM}-[Numbers]-anything



if [[ $var == "R-"${PROJ_NM}"-"[[:digit:]]"-"* ]] ; then echo "Naming convention is in correct format" else echo "Not in correct format" exit 1 fi


I am getting output as not in correct format.










share|improve this question




















  • 4





    Please edit your question and show us a few examples of input, what you want to get from that input and what you actually get from that input.

    – terdon
    Feb 8 at 12:02
















0















I am validating string with some standards. It should start wih R- and proj_nm as a variable and project_cd as numbers and any desc
i.e, R-${PROJ_NM}-[Numbers]-anything



if [[ $var == "R-"${PROJ_NM}"-"[[:digit:]]"-"* ]] ; then echo "Naming convention is in correct format" else echo "Not in correct format" exit 1 fi


I am getting output as not in correct format.










share|improve this question




















  • 4





    Please edit your question and show us a few examples of input, what you want to get from that input and what you actually get from that input.

    – terdon
    Feb 8 at 12:02














0












0








0








I am validating string with some standards. It should start wih R- and proj_nm as a variable and project_cd as numbers and any desc
i.e, R-${PROJ_NM}-[Numbers]-anything



if [[ $var == "R-"${PROJ_NM}"-"[[:digit:]]"-"* ]] ; then echo "Naming convention is in correct format" else echo "Not in correct format" exit 1 fi


I am getting output as not in correct format.










share|improve this question
















I am validating string with some standards. It should start wih R- and proj_nm as a variable and project_cd as numbers and any desc
i.e, R-${PROJ_NM}-[Numbers]-anything



if [[ $var == "R-"${PROJ_NM}"-"[[:digit:]]"-"* ]] ; then echo "Naming convention is in correct format" else echo "Not in correct format" exit 1 fi


I am getting output as not in correct format.







bash shell-script






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Feb 8 at 13:21









Rui F Ribeiro

40.4k1479137




40.4k1479137










asked Feb 8 at 11:54









user_297020user_297020

197




197








  • 4





    Please edit your question and show us a few examples of input, what you want to get from that input and what you actually get from that input.

    – terdon
    Feb 8 at 12:02














  • 4





    Please edit your question and show us a few examples of input, what you want to get from that input and what you actually get from that input.

    – terdon
    Feb 8 at 12:02








4




4





Please edit your question and show us a few examples of input, what you want to get from that input and what you actually get from that input.

– terdon
Feb 8 at 12:02





Please edit your question and show us a few examples of input, what you want to get from that input and what you actually get from that input.

– terdon
Feb 8 at 12:02










1 Answer
1






active

oldest

votes


















4














If you need to have one or more numbers (you said numbers), then you need [[:digit:]][[:digit:]] for two, [[:digit:]][[:digit:]][[:digit:]] for three etc.



if [[ $var == "R-"${PROJ_NM}"-"[[:digit:]][[:digit:]]"-"* ]] ; then 
echo "Naming convention is in correct format"
else
echo "Not in correct format"
fi


But you can simplify your quotes a little:



if [[ $var == "R-${PROJ_NM}-"[[:digit:]][[:digit:]]"-"* ]] ; then 
echo "Naming convention is in correct format"
else
echo "Not in correct format"
fi


Alternatively, with newer bash versions, you can use regular expressions:



if [[ $var =~ ^R-${PROJ_NM}-[0-9]+- ]] ; then 
echo "Naming convention is in correct format"
else
echo "Not in correct format"
fi





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%2f499461%2fdigits-in-string%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









    4














    If you need to have one or more numbers (you said numbers), then you need [[:digit:]][[:digit:]] for two, [[:digit:]][[:digit:]][[:digit:]] for three etc.



    if [[ $var == "R-"${PROJ_NM}"-"[[:digit:]][[:digit:]]"-"* ]] ; then 
    echo "Naming convention is in correct format"
    else
    echo "Not in correct format"
    fi


    But you can simplify your quotes a little:



    if [[ $var == "R-${PROJ_NM}-"[[:digit:]][[:digit:]]"-"* ]] ; then 
    echo "Naming convention is in correct format"
    else
    echo "Not in correct format"
    fi


    Alternatively, with newer bash versions, you can use regular expressions:



    if [[ $var =~ ^R-${PROJ_NM}-[0-9]+- ]] ; then 
    echo "Naming convention is in correct format"
    else
    echo "Not in correct format"
    fi





    share|improve this answer






























      4














      If you need to have one or more numbers (you said numbers), then you need [[:digit:]][[:digit:]] for two, [[:digit:]][[:digit:]][[:digit:]] for three etc.



      if [[ $var == "R-"${PROJ_NM}"-"[[:digit:]][[:digit:]]"-"* ]] ; then 
      echo "Naming convention is in correct format"
      else
      echo "Not in correct format"
      fi


      But you can simplify your quotes a little:



      if [[ $var == "R-${PROJ_NM}-"[[:digit:]][[:digit:]]"-"* ]] ; then 
      echo "Naming convention is in correct format"
      else
      echo "Not in correct format"
      fi


      Alternatively, with newer bash versions, you can use regular expressions:



      if [[ $var =~ ^R-${PROJ_NM}-[0-9]+- ]] ; then 
      echo "Naming convention is in correct format"
      else
      echo "Not in correct format"
      fi





      share|improve this answer




























        4












        4








        4







        If you need to have one or more numbers (you said numbers), then you need [[:digit:]][[:digit:]] for two, [[:digit:]][[:digit:]][[:digit:]] for three etc.



        if [[ $var == "R-"${PROJ_NM}"-"[[:digit:]][[:digit:]]"-"* ]] ; then 
        echo "Naming convention is in correct format"
        else
        echo "Not in correct format"
        fi


        But you can simplify your quotes a little:



        if [[ $var == "R-${PROJ_NM}-"[[:digit:]][[:digit:]]"-"* ]] ; then 
        echo "Naming convention is in correct format"
        else
        echo "Not in correct format"
        fi


        Alternatively, with newer bash versions, you can use regular expressions:



        if [[ $var =~ ^R-${PROJ_NM}-[0-9]+- ]] ; then 
        echo "Naming convention is in correct format"
        else
        echo "Not in correct format"
        fi





        share|improve this answer















        If you need to have one or more numbers (you said numbers), then you need [[:digit:]][[:digit:]] for two, [[:digit:]][[:digit:]][[:digit:]] for three etc.



        if [[ $var == "R-"${PROJ_NM}"-"[[:digit:]][[:digit:]]"-"* ]] ; then 
        echo "Naming convention is in correct format"
        else
        echo "Not in correct format"
        fi


        But you can simplify your quotes a little:



        if [[ $var == "R-${PROJ_NM}-"[[:digit:]][[:digit:]]"-"* ]] ; then 
        echo "Naming convention is in correct format"
        else
        echo "Not in correct format"
        fi


        Alternatively, with newer bash versions, you can use regular expressions:



        if [[ $var =~ ^R-${PROJ_NM}-[0-9]+- ]] ; then 
        echo "Naming convention is in correct format"
        else
        echo "Not in correct format"
        fi






        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Feb 8 at 12:32

























        answered Feb 8 at 12:12









        terdonterdon

        131k32257436




        131k32257436






























            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.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f499461%2fdigits-in-string%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

            How to reconfigure Docker Trusted Registry 2.x.x to use CEPH FS mount instead of NFS and other traditional...

            is 'sed' thread safe

            How to make a Squid Proxy server?