変数から文字列を削除する最速の方法

変数から文字列を削除する最速の方法

変数があるとしましょうfoo

foo=`echo ab cd ef gh`

あなたがした場合echo foo、あなたは得るでしょう:

$ echo $foo
ab cd ef gh

それでは、最速の方法からef始めましょう。$foo

ベストアンサー1

変数に変数が少なくとも1回含まれていると仮定すると、efPOSIXly:

$ printf '%s\n' "${foo%ef*}${foo##*ef}" 
ab cd  gh

bashkshバリアント(含まれていないposhzsh、およびでは、yash次のものを使用できます。

$ printf '%s\n' "${foo/ef}"

最初の項目を削除するefか、"${foo//ef}"すべての項目を削除します。

おすすめ記事