1

我需要从一个文件中 grep 一个参数,然后我需要将该参数放入另一个文件中。我需要在启动时读取变量并将其插入

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

所以现在我有了ID_VAR12345。现在我想做的是在/file/two

file/two

...
@program ID_VAR
...

有没有办法在文件二中运行 grep 函数?有没有办法在文件之间共享变量?我正在使用 Debian。

4

2 回答 2

1

您的问题有些含糊不清,但我认为这段脚本正是您要寻找的:

假设@program已经在您的文件 2 中:(否则,请参阅 sudo_o 的解决方案)

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

解释:

  • ID_VAR=$(...): 保存你grepcut结果ID_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 回答