将 grep 的结果输出到 var,然后输出到系统文件



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

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

所以现在我有了 12345 的ID_VAR。 现在我想做的是在/file/two中使用它

file/two

...
@program ID_VAR
...

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

从一个文件中grep一个id,并附加到另一个前面加上字符串 @program 的文件:

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

您的问题中有一些歧义,但我认为这段脚本是您正在寻找的:

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

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

解释:

  • ID_VAR=$(...) :保存您的grep结果并cutID_VAR
  • sed :调用sed并使用-i选项就地编辑输入文件
  • "s/@program/@program ${ID_VAR}/" : 将输入文件中的@program替换为@program (value of ID_VAR)
  • /file/two:您的输入文件是什么

相关内容

  • 没有找到相关文章

最新更新