私はこのシェルスクリプト変数varを持っています。 3つのエントリをの新しい行で区切って保持します。この変数VARから、私は、および0.078688を抽出したいです。ちょうどこれらの2つの数字。上記の作業のシェルスクリプト変数からデリミタ間のデータを抽出
echo "$var" | grep -o -P '(?<=\=).*(?=\n)' # For extracting 2
echo "$var" | awk -v FS="(# |\n)" '{print $2}' # For extracting 0.078688
なし:
var="USER_ID=2
# 0.078688
Suhas"
これらは私が試したコードです。ここでの問題は何ですか?これを修正するには? AWKで
youâのようにデータの形式であると仮定。その複数行のデータ。 –
あなたの試行を気に入ってください。しかし、OPには単語間に改行文字があるため、これはうまくいきません。そしてあなたの例は、OPが質問に矛盾する見積もりをしていない場合にのみ動作します。 – Inian
@ ZumodeVidrio:「意図的に "var"を引用していないと言ったとき、それは間違っています。 "bash"で引用符で囲まれていない変数を扱うことは正しくありません([Word Splitting]と呼ばれる) http://mywiki.wooledge.org/WordSplitting)。これは実際に_as-is_という文字列を保持しており、引用符で囲まれていないもので作業することは特権ではありません! – Inian