Assign grep count to variable

后端 未结 3 1955
长发绾君心
长发绾君心 2021-02-05 02:23

How to assign the result of

grep -c \"some text\" /tmp/somePath

into variable so I can echo it.

#!/bin/bash
some_var = grep -c         


        
相关标签:
3条回答
  • 2021-02-05 02:42
    some_var=$(grep -c "some text" /tmp/somePath)
    

    From man bash:

       Command substitution allows the output of a command to replace the com‐
       mand name.  There are two forms:
    
              $(command)
       or
              `command`
    
       Bash performs the expansion by executing command and replacing the com‐
       mand substitution with the standard output of  the  command,  with  any
       trailing newlines deleted.
    
    0 讨论(0)
  • 2021-02-05 02:46


    Found the issue
    Its the assignment, this will work:

    some_var=$(command)
    


    While this won't work:

    some_var = $(command)
    


    Thank you for your help! I will accept first helpful answer.

    0 讨论(0)
  • 2021-02-05 02:47

    To assign the output of a command, use var=$(cmd) (as shellcheck automatically tells you if you paste your script there).

    #!/bin/bash
    some_var=$(grep -c "some text" /tmp/somePath)
    echo "var value is: ${some_var}"
    
    0 讨论(0)
提交回复
热议问题