创建一个文件,连接 bash 中另一个文件的字符串和值

Create a file concatenating strings and values from another file in bash

我需要创建一个包含许多行的 FileToCreate.txt,其中包括即将到来的数字数据值

来自 File1.txt

FiletoCreate.txt:

ncap2 -Oh -s'TOPOBATHY(v1,v2)=v3.'   --- first row

ncap2 -Oh -s'TOPOBATHY(168,361)=20.' --- scnd row

ncap2 -Oh -s'TOPOBATHY(169,366)=22.' ----third row

ncap2 -Oh -s'TOPOBATHY(Vn1,Vn2)=Vn3.'----last nth row

File1.txt:

v1  v2 v3

168 361 20

169 366 22

.    .   .

Vn1 Vn2  Vn3

到目前为止我试过了:

ifile=file.txt

st='ncap2 -Oh -s 'TOPOBATHY('

st1=')='

st2='.''

line_no=$(wc -l < $ifile)

for row in 'seq 1 $line_no'; do


cat $ifile | awk -v st=$st -v st1=$st1 -v st2=$st2 


'{if (NR==$row) print(st  ","  st1  st2 st3)}' >> $tmpdir/tmp

这是我最早的脚本之一,非常手工,无法正常工作。请某人

可以指导我吗?

提前致谢, 内拉

尝试查看以下脚本的工作原理:

#!/bin/bash

while read val1 val2 val3
do
  echo "ncap2 -Oh -s'TOPOBATHY($val1,$val2)=$val3.'"
done < file1.txt > FiletoCreate.txt

while 循环逐行读取输入 file1.txt 并将 3 个值存储在 val1、val2 和 val3 中(假设这些值 space 分开)。

while 的每次迭代中,echo 打印值及其周围的字符串。

整个 while 输出重定向到 FiletoCreate.txt