extract regexp result from string and write it to a variable

前端 未结 5 1450
星月不相逢
星月不相逢 2021-01-24 19:05

I\'m trying to write a shell script that searches in a file specified as argument $1 for a regex and writes the found subpattern into a variable I can then use.

let\'s s

相关标签:
5条回答
  • 2021-01-24 19:12

    dosth.sh:

    #!/bin/bash
    VALUE=`cat $1 | grep <your regexp here>`
    echo $VALUE
    

    this can be used as:

    $ ./dosth.sh a.txt
    

    then the found strings are stored in the variable VALUE

    You can also give the regexp over by some arguments (asked for the filename by the script):

    dosth.sh:

    #!/bin/bash
    echo -e "Which file do you want to grep?"
    read  FILENAME
    args=("$@")
    VALUE=`cat $FILENAME | grep $args`
    echo $VALUE
    

    which can be used like:

    $ ./dosth.sh here comes my * pattern
    

    Maybe this link is helpful for you: Link

    0 讨论(0)
  • 2021-01-24 19:15

    value=$( awk -F"'" '$1 == "set output " {print $2}' somefile )

    0 讨论(0)
  • 2021-01-24 19:19
    variable=$(sed -n '/^set output/ s/[^\x27]*\x27\([^\x27]*\)\x27/\1/p' "$1")
    
    0 讨论(0)
  • 2021-01-24 19:26
    value=`cat $1 | grep -e 'set output' | cut -d'"' -f 2`
    

    using " instead of ' and the line above does the job.

    0 讨论(0)
  • 2021-01-24 19:35

    You could try something along the lines of

    value=`grep '^set output' $x | cut -d' ' -f 3`
    

    (Note that you will retain the quotes in $value

    0 讨论(0)
提交回复
热议问题