2017-09-19 12 views
1

私はawkを使用して新しいですし、私はそれが非常にカラムからデータを抽出するために有用であることがわかりました。awkでファイルから変数を読み込みますか?

awk '/Data:/ {print $3}' file.txt 

しかし次回は、私はファイル内のいくつかの変数を持っていたのは、言わせて、::

variable_1=1 
variable_2=4 
を私は使用される第二のカラムを望んでいた場合、私のファイルの例では、私は

Data:  1234  23434  31324 

を持っていました

どのようにして値だけを抽出できますか?どのように値を知ることで変数の名前を抽出できますか?フィールドの区切り文字を指定する

+0

@anubhavaが –

+0

あなたは 'variable_1'を使用することができます – anubhava

+0

あなたのために働くべきである、hek2mgl @から下にお答えください作品はいけないの値に対応するキーを取得します。 'Data'を使うのと同じ方法で、あなたが望む一つの行を選択します。 –

答えて

2

awk申し出:

awk -F'=' '$1 == "variable_1" {print $2}' file 

プリント:

1 
+0

はい、新しい区切り文字を指定しますが、どのようにして値のみを指定できますか?それはうまくいきましたが、右に多くの文字がある場合は、それも抽出されます。 –

+2

@JoshuaSalazar入力データと予想される出力の具体例を挙げることができますか? – hek2mgl

+0

コードにコメントが記載されているとどうなりますか? 'variable_1 = 1#この変数は1番です。'あなたの解決策では、私は出力>> 1になります。この変数は1番です。 –

0

あなたはあなたのファイルで多くのことを行うことができます、あなたが本当に何をしたいですか?
は値を取得します:

source file.txt 
echo "variable_1=${variable_1}" 
echo "variable_2=${variable_2}" 

は2

sed '/=2$/ s/=.*//' file.txt 
関連する問題