文字列に表示される最後の特定の文字を使用して、文字列を半分に切り捨てます。

文字列に表示される最後の特定の文字を使用して、文字列を半分に切り捨てます。

たとえば、文字列の場合、文字を使用して文字列を半分に分割すると、結果はとa_link_list_javaです。 _a_link_listjava

list_java結果は次のとおりlistですjava

これら2つの部分を2つの変数に保存したいと思います。

コマンドを試しましたが、cut文字列に表示されている1文字だけが機能します。

Bashシェルスクリプトでこれを行うにはどうすればよいですか?

ベストアンサー1

シェルパラメータ拡張次のことができます。

$ v="a_link_list_java"
$ printf "%s\n" "${v%_*}" "${v##*_}"
a_link_list
java

ただし、拡張子のパターンが一致しないと何も削除されませんのでご注意ください。したがって、両方の変換は下線付きの値を変更しません。

$ v=foo
$ printf "%s\n" "${v%_*}" "${v##*_}"
foo
foo

おすすめ記事