将grep输出到var然后输出到系统文件

时间:2012-11-22 19:47:57

标签: linux bash grep environment-variables

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

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

所以现在我有ID_VAR的12345.现在我想做的是在/file/two

中使用它

file/two

...
@program ID_VAR
...

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

2 个答案:

答案 0 :(得分: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=$(...):将grepcut的结果保存到ID_VAR
  • sed:调用sed并使用-i选项编辑输入文件
  • "s/@program/@program ${ID_VAR}/":将@program替换为输入文件中的@program (value of ID_VAR)
  • /file/two:输入文件是什么

答案 1 :(得分:1)

grep来自一个文件的id并追加到另一个带有字符串@program前面的文件:

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