我有一个如下所示的输入文件。
R sfst 1000.0000
$ new time step for mass scaled calculation
R dt2ms -4.000E-7
$ friction value for blank
R mue 0.120000
$ blankholder force
R bhf 2.0000E+5
$ simulation time
R endtime 0.150000
我想更改包含“mue”的行上的值 通过以下我可以阅读但无法更改。
awk ' /mue/ { print $3 } ' input.txt
该值将从另一个文件 fric.txt 中获取。 fric.txt 只包含数字,每行一个。
fric.txt 有这样的数据
0.1234
0.234
0.0234
. .
Blockquote
应该注意的是,只有第一个实例需要被替换,格式即白色间距保持不变。
Blockquote
谁能指导我使用 sed 或 awk 执行此操作?
最佳答案
试试这个命令:
$ awk '/mue/ && !seen {getline $3 <"fric.txt"; seen=1} 1' input.txt
关于linux - 如何在 linux 中使用就地编辑 sed 将包含字符串的行上的特定记录替换为另一个文件中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9920577/