2018 Jul. 21.
Srch=$(echo $Line | grep -oP '^.*?\\".*?[^\\]"' | sed -e 's/\\/\\\\/g')
echo $Line | sed -e s/${Srch}//
「直前に\(バックスラッシュ)が無い"(二重引用符)まで」の検索
原形 ^.*?\".*?[^\]"
grepに使う時 '^.*?\\".*?[^\\]"'
sedに使う時 '^.*?\\".*?[^\\]"'
sedの検索文字列内での\(バックスラッシュ)
'(シングルクォーテーション)で囲むと
シェルではそのまま読み込まれて
sedにおいて\(バックスラッシュ)が状況に応じてエスケープ文字に解釈される
'(シングルクォーテーション)で囲まないと
シェルで読み込まれる時に\が状況に応じてエスケープ文字に解釈され
sedにおいても\が状況に応じてエスケープ文字に解釈される
\をたくさん書く必要がある
Srch=$(echo $Line | grep -oP '^.*?\\".*?[^\\]"' | sed -e 's/\\/\\\\/g')
echo $Line | sed -e s/${Srch}//
「直前に\(バックスラッシュ)が無い"(二重引用符)まで」の検索
原形 ^.*?\".*?[^\]"
grepに使う時 '^.*?\\".*?[^\\]"'
sedに使う時 '^.*?\\".*?[^\\]"'
sedの検索文字列内での\(バックスラッシュ)
'(シングルクォーテーション)で囲むと
シェルではそのまま読み込まれて
sedにおいて\(バックスラッシュ)が状況に応じてエスケープ文字に解釈される
'(シングルクォーテーション)で囲まないと
シェルで読み込まれる時に\が状況に応じてエスケープ文字に解釈され
sedにおいても\が状況に応じてエスケープ文字に解釈される
\をたくさん書く必要がある
0 件のコメント:
コメントを投稿