たとえば、文字列の場合、文字を使用して文字列を半分に分割すると、結果はとa_link_list_java
です。 _
a_link_list
java
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