有一个参数我需要从一个文件中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
结果并cut
到ID_VAR
-
sed
:调用sed
并使用-i
选项就地编辑输入文件 -
"s/@program/@program ${ID_VAR}/"
: 将输入文件中的@program
替换为@program (value of ID_VAR)
-
/file/two
:您的输入文件是什么