別の文字列内の文字列を取得するには、シェルスクリプトで正規表現を記述して、変数文字列myStringが正規表現文字列に含まれるようにする必要があります。これどうやってするの?
			
			6343 次
		
6 に答える
            2        
        
		
二重引用符内のテキストを抽出したい場合、および二重引用符のセットが 1 つだけであると仮定すると、それを行う 1 つの方法は次のとおりです。
[me@home]$ echo $A
to get "myString" in regular expression
[me@home]$ echo $A | sed -n 's/.*"\(.*\)".*/\1/p'
myString
もちろん、引用符のセットが 1 つしかない場合は、sed/regex なしでも実行できます。
[me@home]$ echo $A | cut -d'"' -f2
myString
    于 2012-09-17T09:33:48.317   に答える
    
    
            1        
        
		
二重引用符のセットが 1 つしかないことがわかっている場合は、次のようにシェル パラメーター展開を使用できます。
zsh> s='to get "myString" in regular expression'
zsh> echo ${${s#*\"}%\"*}
mystring
bash はマルチレベル展開をサポートしていないため、展開を順番に適用する必要があります。
bash> s='to get "myString" in regular expression'
bash> s=${s#*\"}
bash> s=${s%\"*}
bash> echo $s
mystring
    于 2012-09-17T10:42:19.123   に答える
    
    
            0        
        
		
>echo 'hi "there" ' | perl -pe 's/.*(["].*["])/\1/g'
"there" 
    于 2012-09-17T10:34:30.523   に答える
    
    
            0        
        
		
「awk」も使用できます。
echo 'this is string with "substring" here' | awk '/"substring"/ {print}'
# awk '/"substring"/ {print}' means to print string, which contains regexp "this" 
    于 2012-09-17T10:55:41.720   に答える
    
    
            -1        
        
		
grepは、シェルで正規表現を検索するための最も一般的なツールです。
于 2012-09-17T09:27:04.300   に答える