我需要从一个文件中 grep 一个参数,然后我需要将该参数放入另一个文件中。我需要在启动时读取变量并将其插入
$grep "id" /file/one | cut -d " " -f2
$12345
所以现在我有了ID_VAR
12345。现在我想做的是在/file/two
在file/two
:
...
@program ID_VAR
...
有没有办法在文件二中运行 grep 函数?有没有办法在文件之间共享变量?我正在使用 Debian。
我需要从一个文件中 grep 一个参数,然后我需要将该参数放入另一个文件中。我需要在启动时读取变量并将其插入
$grep "id" /file/one | cut -d " " -f2
$12345
所以现在我有了ID_VAR
12345。现在我想做的是在/file/two
在file/two
:
...
@program ID_VAR
...
有没有办法在文件二中运行 grep 函数?有没有办法在文件之间共享变量?我正在使用 Debian。
您的问题有些含糊不清,但我认为这段脚本正是您要寻找的:
假设@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
的cut
结果ID_VAR
sed
:调用sed
并使用-i
选项来编辑输入文件"s/@program/@program ${ID_VAR}/"
:在输入文件中替换@program
为@program (value of ID_VAR)
/file/two
: 你的输入文件是什么grep
来自一个id
文件并附加到以字符串开头的另一个文件@program
:
echo '@program' $(grep "id" file/one | cut -d " " -f2) >> file/two