0
整數號碼查找文件中的兩個連續數本之間的N個最大差被存儲在文件中,我需要找到在文件中的兩個連續數本之間Max和N MAX差(在每個行/行一個整數) 例如使用unix
12
15
50
80
最大差異:35(50 -15)和說N = 2,從而第一最大值35和第二最大值:30
整數號碼查找文件中的兩個連續數本之間的N個最大差被存儲在文件中,我需要找到在文件中的兩個連續數本之間Max和N MAX差(在每個行/行一個整數) 例如使用unix
12
15
50
80
最大差異:35(50 -15)和說N = 2,從而第一最大值35和第二最大值:30
#!/usr/bin/awk -f
NR>1{ diff = $0 - prev
for (i = 0; i < N; ++i)
if (diff > maxdiff[i])
{ # sort new max. diff.
for (j = N; --j > i;) if (j-1 in maxdiff) maxdiff[j] = maxdiff[j-1]
maxdiff[j] = diff
break
}
}
{ prev = $0 }
END { for (i in maxdiff) print maxdiff[i] }
- 即,例如,如果該腳本名爲nmaxdiff.awk
和數字存儲在文件中numbers
,進入
nmaxdiff.awk N=2 numbers
這很好。祝你好運。你有編程問題嗎?這個網站是爲編程問題,而不是一個地方轉儲你的功課,並期望別人爲你做。 –
難度不是邏輯,但中號不是非常清楚的UNIX命令,可以在這種情況下 –
米閱讀文件N迭代逐行有用的..我想如果可以用awk做..但它需要記住早期沒有 –