我正在尝试解析file2 for record 23并使用它来替换file1的记录23.
这是我每次都要运行的命令.
script.awk file1 file2
Run Code Online (Sandbox Code Playgroud)
以下是两个文件的记录23的示例.相同的分隔符和每个值中的位数以及具有相同的第一个字段串.
currentmax: 1.7229 1.6888 1.1069 1.6238
Run Code Online (Sandbox Code Playgroud)
这将是更大的awk脚本的第一部分.我会在这个脚本中添加更多内容,以便只使用file1中的新值并输出到file3,但这样可以用于以后.
我不确定命令中的不同文件顺序是否会使脚本更容易编写,然后操作file1直到输出到file3.切换file1和file2可能有效.
script.awk file2 file1
Run Code Online (Sandbox Code Playgroud)
您需要先指定file2,因为它包含您要捕获的数据.
awk有几个内置变量可以帮助你.FNR是正在处理的当前文件的记录号.NR是到目前为止看到的所有行的记录数.
要从file2捕获记录23并替换file1的记录23:
awk '
NR == FNR {
# this block is processing the first file
if (FNR == 23) line = $0
next
}
FNR == 23 {$0 = line}
{print}
' file2 file1 > file3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
380 次 |
| 最近记录: |