Bash - 文字列から文字を抽出する

Bash - 文字列から文字を抽出する

次のような変数があるとしましょう。

$string = 'cat somecommandhere'

これで、上記のコマンドの出力は次catのようになります。

test="Thanks serverfault"

引用符間の値を抽出し、引用$string符を含む同じ変数に保存したいと思います。文字列に次の値を含めたいと思います。

$string = "Thanks serverfault"  

sedgrepまたは代わりにこれを行うにはどうすればよいですかawk?まだ学んでいませんawk

ベストアンサー1

これが「2番目の部分」を意味し、二重引用符を切り捨てることを意味するとcut推論しやすいので使用します。-f2-d'"'

$ output='test="Thanks serverfault"'
$ string=$( echo $output | cut -f2 -d'"' )
$ echo $string
Thanks serverfault

本当に引用をしたい場合は、自分で再度追加すると、答えが必要以上に混乱しているように見えます。

本当に使いたい場合sed(幸いにも引用符も保存されます):

$ output='test="Thanks serverfault"'
$ string=$( echo $output | sed 's/^test=//' )
$ echo $string
"Thanks serverfault"

説明sed:

                           s/^test=//
  string find/replace mode ^ |     ^ replace with nothing
                             starts with test=

おすすめ記事