我需要帮助以下代码我很难理解。如果有人可以抽出一点时间来解释这一点,我将非常感激。
它的基本作用是基于file1的col1中的值在file2的col1中定位一行,并替换file2中的7列值,这些列的位置通过-v标志作为输入提供。
awk --lint '-F|' -v col1pos=5 -v col2pos=29 -v col3pos=114 -v col4pos=115 -v col5pos= -v col6pos=26 -v col7pos= -v col8pos= 'BEGIN{OFS = FS; a[var 2] = col1pos; a[var 3] = col2pos; a[var 4] = col3pos; a[var 5] = col4pos; a[var 6] = col5pos; a[var 7] = col6pos; a[var 8] = col7pos; a[var 9] = col8pos} NR == FNR {a[$1] = $2; for (i
= 3; i <= 9; ++i) a[$1 FS i] = $i; next} $col1pos in a {for (i = 9; i >= 3; --i) if (length(a[var i]) > 0) $(a[var i]) = a[$col1pos FS i]; $col1pos = a[$col1pos]}1' file1 file2
答案 0 :(得分:1)
由于没有提供样本,因此很难理解您的完整问题;如果我们谈论代码,那么我会尽力解释如下。请仔细阅读,如有任何疑问,请通知我。
代码说明:
a["string"]
注意: 我提到了两点改进代码的地方,这里提到了它们的含义。
a[variable]
,因为默认情况下两者都具有与空格相同的值。sleep_(50)
string out=""
print win32SystemWait_("cmd.exe /C echo hallo", out, -1)
print "Output :" out
,或者在使用变量的情况下尝试使用ID Use Group
13A Sheet1 Out
13A Sheet2 In
13A Sheet3 Out
13A Sheet4 In
13A Sheet5 Out