1

ファイルからgrepする必要があるパラメータがあり、そのパラメータを別のファイルに取得する必要があります。起動時に変数を読み取り、それを挿入する必要があります

$grep "id" /file/one | cut -d " " -f2
$12345

これID_VARで 12345 ができました。/file/two

file/two

...
@program ID_VAR
...

ファイル 2 内で grep 関数を実行する方法はありますか? ファイル間で変数を共有する方法はありますか? 私はDebianを使用しています。

4

2 に答える 2

1

あなたの質問にはいくつかのあいまいさがありますが、私はこのスクリプトのスニペットがあなたが探しているものだと思います:

すでにファイル2にあると仮定@programします(そうでない場合は、sudo_oのソリューションを参照してください)

ID_VAR=$(grep "id" /file/one | cut -d " " -f2)
sed -i "s/@program/@program ${ID_VAR}/" /file/two

説明:

  • ID_VAR=$(...):あなたの結果を保存grepcutID_VAR
  • sed:オプションを呼び出しsedて使用し-i、入力ファイルを所定の位置で編集します
  • "s/@program/@program ${ID_VAR}/":入力ファイル@programで置換@program (value of ID_VAR)
  • /file/two:入力ファイルとは
于 2012-11-22T19:51:50.587 に答える
1

grepあるidファイルから、文字列が前に付いた別のファイルに追加します@program

echo '@program' $(grep "id" file/one | cut -d " " -f2) >> file/two

于 2012-11-22T19:54:58.747 に答える