comm -12 arg_rdb.txt cal_rdb.txt | while read line; do awk -v pattern="$line" 'BEGIN{matched=0} $0 ~ pattern {matched=1} matched && NR <= FNR+4 {print >> "arg_drdb"} matched && NR > FNR && NR <= FN done哪里错了
时间: 2024-02-10 16:13:33 浏览: 26
这段代码中有几个问题:
1. `FN` 变量未定义,应该是 `FNR`。
2. `FN` 变量后面的条件应该是 `NR <= FNR + 8`,因为你要复制 `FNR` 行及其后面的 7 行。
3. `awk` 命令的输出没有被重定向到文件中,应该在命令末尾添加 `>> arg_drdb`。
修改后的代码如下:
```
comm -12 arg_rdb.txt cal_rdb.txt | while read line; do
awk -v pattern="$line" 'BEGIN{matched=0} $0 ~ pattern {matched=1} matched && NR <= FNR+8 {print >> "arg_drdb"} matched && NR > FNR && NR <= FNR+8' >> arg_drdb
done
```
相关问题
shard=MPI.COMM_WORLD.Get_rank()是什么意思
这段代码是使用MPI并行编程库进行并行计算时常见的语句。在MPI中,MPI.COMM_WORLD是一个MPI通信器,它包含了所有参与并行计算的进程。MPI.COMM_WORLD.Get_rank()返回当前进程在通信器中的排名,即进程的标识符。通过这个排名,我们可以在并行计算中对不同的进程进行不同的操作,以实现并行计算。
num_chunks = MPI.COMM_WORLD.bcast(None)是什么意思
这行代码是使用 MPI(Message Passing Interface)库中的 COMM_WORLD 对象进行广播操作,将 None 对象广播给所有进程,并返回广播的结果 num_chunks。具体来说,MPI.COMM_WORLD.bcast(None)会将 None 对象发送给所有进程,每个进程都会接收到这个对象,并将其存储在 num_chunks 变量中。