[英]Shell scripting using grep to split a string
我在表單的shell腳本中有一個變量
myVAR = "firstWord###secondWord"
我想使用grep或其他工具分成兩個變量,最終結果如下:
myFIRST = "firstWord"
mySECOND = "secondWord"
我該怎么做呢? #{3}是我想分開的。
使用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/')
最好的工具是sed :
$ echo "firstWord###secondWord" | sed 's@###@\
@'
firstWord
secondWord
一個完整的例子:
$ read myFIRST mySECOND < <(echo "$myvar" | sed 's@###@ @')
$ echo $myFIRST
firstWord
$ echo $mySECOND
secondWord
$ STR='firstWord###secondWord'
$ eval $(echo $STR | sed 's:^:V1=":; /###/ s::";V2=": ;s:$:":')
$ echo $V1
firstWord
$ echo $V2
secondWord
這就是我用zsh做的方法:
myVAR="firstWord###secondWord"
<<<$myvar sed 's/###/ /' | read myFIRST mySECOND
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.