JDS*_*JDS 8 regex string shell scripting grep
我在表单的shell脚本中有一个变量
myVAR = "firstWord###secondWord"
Run Code Online (Sandbox Code Playgroud)
我想使用grep或其他工具分成两个变量,最终结果如下:
myFIRST = "firstWord"
mySECOND = "secondWord"
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?#{3}是我想分开的.
Chr*_*our 17
使用替换sed
:
echo $myvar | sed -E 's/(.*)#{3}(.*)/\1/'
>>> firstword
echo $myvar | sed -E 's/(.*)#{3}(.*)/\2/'
>>> secondword
# saving to variables
myFirst=$(echo $myvar | sed -E 's/(.*)#{3}(.*)/\1/')
mySecond=$(echo $myvar | sed -E 's/(.*)#{3}(.*)/\2/')
Run Code Online (Sandbox Code Playgroud)
最好的工具是sed:
$ echo "firstWord###secondWord" | sed 's@###@\
@'
firstWord
secondWord
Run Code Online (Sandbox Code Playgroud)
一个完整的例子:
$ read myFIRST mySECOND < <(echo "$myvar" | sed 's@###@ @')
$ echo $myFIRST
firstWord
$ echo $mySECOND
secondWord
Run Code Online (Sandbox Code Playgroud)