変数で/ summary /の後に単語をgrepし、その単語をbashスクリプトの新しい変数に保存する方法

変数で/ summary /の後に単語をgrepし、その単語をbashスクリプトの新しい変数に保存する方法

ユーザーにパスを求めるメッセージを表示し、それをpathという変数に保存します。

$path: /a/b/c_12/d/e/summary/system/mode/output/file.txt

パスの構造は常に同じですが、システム、モード、出力名は固定されていません。したがって、/ summary /の後にあるシステム名をgrepする予定です。

bashスクリプトでその変数を使用できるようにシステム名をgrepしてから、変数に保存するにはどうすればよいですか?私はシステム名が新しい変数になければならないと思いました。 (例:$ systemname)

ベストアンサー1

「システム」パス構造が同じ場合は、cutこの操作に使用できます。
-dは区切り文字を表し、あなたの場合は「/」です。そして -f は切り取る部分を選択しなければなりません。

cs-server@:~/$ systemname=$(echo "/a/b/c_12/d/e/summary/system/mode/output/file.txt" | cut -d'/' -f8)
cs-server@:~/$ echo $systemname
system
cs-server@:~/$

おすすめ記事