簡體   English   中英

使用grep分割字符串的Shell腳本

[英]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/')

最好的工具是

$ 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM