创建一个文件,连接 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
。
我需要创建一个包含许多行的 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
。