2017-09-22 5 views
-1

私のbashスクリプトでは、/etc/hostsの部分文字列olr4.dtf21を検索して2つの変数に分割し、それらを同じ行に追加します。ここで文字列内の文字列を見つけて同じ行に追加します

は、ファイル内の行です:

137.222.209.123 olr4.dtf21.fltops.cat.dog.com olr4 

のように私は何をしたいことはラインが終わる作るされています。私はこれを行うためにsedを使用することができます理解

137.222.209.123 olr4.dtf21.fltops.cat.dog.com olr4 olr4.dtf21 

が、部分文字列を変数に取り込むことは、当分私の上にある。

+2

の文字列を入力してください。そうでない場合、キャプチャして追加するものはどのように定義されていますか? –

+2

実際に2つの変数に分割されていないようにも見えます。まったく同じ文字列を追加しただけです。 –

+0

sedを使ってあなたの仕事を達成することができれば、「部分文字列を変数に取り込む」の目的は何ですか?なぜそれを「変数」に入れたいのですか? – John1024

答えて

0

要件は不明です。 2つの部分からなるパターンをお探しの場合は、awk

awk -v var1="value1" -v var2="value2" ' 
    $2 ~ var1"."var2 { print $0" "var1"."var2; next } # matching lines 
        { print      } # other lines 
    ' /etc/hosts 
関連する問題