2017-11-22 14 views
-1

sample.textファイル。シェルスクリプト内のテキストを処理し、variblesに割り当てる方法は?

​​

私はこのサンプルtxtを1つのスクリプトに入力しています。 そのスクリプトは、行を分割し、私は以下のスクリプトが動作していないとしようとしています

$varn= $var1,....$varn 
$value=https://www.sample.com (all the variables value) 

のように差分パラメータ

に変数を割り当てる必要があります。

#!/bin/bash 
for $1 in (cat sample.txt); 
do 
echo $1 #var1=https://www.process.com 
sed 's/=/\n/g' $1 | awk 'NR%2==0' 
done 

主な目的は、一つの変数へのすべてのURLを割り当てることですと、例えば一つの変数にvarsの、すでにあなたのために変数の割り当てが含まれてい

+4

なぜ単純に 'sample.text'を調達していませんか?例えば'#!/ bin/bash;ソースsample.txt; echo "$ var1"; ... ' –

+0

これはスクリプトの一部です。私はsample.txtのソースを、sedの/ =/\ n/g'を使って分割した後、特定の1つの変数にすべてのURLを割り当て、1つの変数私は情報をループで取ることができるように、1つずつループしていくつかの処理を行います –

答えて

2

sample.text場合は、ファイルを処理します

var1=https://www.process.com 
var2=https://www.hp.com 
var3=http://www.google.com 

、あなたは、あなたが読んで'.'またはsourceと単にソーシングそれをするのではなく、sample.textを解析しようとすることによって自分自身に物事を困難にしている、var1, var2, ... varnにアクセスしたいです。

例えば、sample.textを含む与えられた:

$ cat sample.text 
var1=https://www.process.com 
var2=https://www.hp.com 
var3=http://www.google.com 
varz=https://www.sample.com 

をあなたは、例えば、変数にアクセスするためのファイルをソースにのみ必要

#!/bin/bash 

. sample.text || { 
    printf "error sourcing sample.text\n" 
    exit 1 
} 

printf "%s\n" $var{1..3} $varz 

使用例/出力

$ bash source_sample.sh 
https://www.process.com 
https://www.hp.com 
http://www.google.com 
https://www.sample.com 

ルック物事を超えるとさらにご質問がある場合は私に知らせてください。

関連する問題