Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
次の文字列がある場合:
variable_A=12345variable_B=54321variable_C=24680
文字列の内容に基づいて分割するにはどうすればよいですか。たとえば、「variable_B」の後にすべてを抽出したい場合、結果は次のようになります。
variable_B=54321variable_C=24680
「区切り文字/文字列」は最終結果に含まれます0
これはbash環境にあります。ご協力いただきありがとうございます
デリミタの前のすべてを削除したいだけで、他のすべての変数を最終出力に保持したいですか?
別の純粋な bash アプローチでは、区切り記号まで削除し、区切り記号を前に追加します。
$ foo="variable_A=12345variable_B=54321variable_C=24680" $ foo="variable_B${foo#*variable_B}" $ echo "${foo}" variable_B=54321variable_C=24680
これを試して :
grep の使用:
$ echo 'variable_A=12345variable_B=54321variable_C=24680' | grep -o "variable_B.*"
sed の使用:
$ echo 'variable_A=12345variable_B=54321variable_C=24680' | sed -r 's@.*(variable_B.*)@\1@'
出力は次のとおりです。