簡體   English   中英

bash :檢查特定單詞的總和是否小於給定數字

[英]bash : check if sum of specific words smaller than given number

我有 300 個由以下格式組成的文件:

0       0       261157  0       13267   0       314     0       274738  736485  999.999756  
1       0       261155  0       13269   0       314     0       274738  736625  1000.147705  
2       0       261162  0       13264   0       312     0       274738  736703  1000.104370  
3       0       261156  0       13265   0       312     0       274733  736838  1000.113708  
4       0       261166  0       13261   0       311     0       274738  736918  999.999756  
5       0       261173  0       13258   0       311     0       274742  737054  1000.001892  
6       0       261153  0       13284   0       311     0       274748  737137  1000.204529  
7       0       261152  0       13280   0       312     0       274744  736800  1000.188110  
8       0       261154  0       13277   0       311     0       274742  737081  1000.107178  
9       0       261150  0       13278   0       310     0       274738  737309  1000.189392  
10      2348    260942  0       13271   0       310     2348    274523  737683  1001.341980  
11      2342    260915  0       13264   0       310     2342    274489  737720  1000.341797  
12      2340    260900  0       13272   0       310     2340    274482  738490  1000.266357  
13      2339    260885  0       13284   0       309     2339    274478  738363  1000.312317  

這是我的文件部分的示例。 行數可以從 1000 到 50000 不等,具體取決於文件。

現在,我需要檢查最后一行的第二列和倒數第二列。 如果這些數字的總和小於 10,這意味着我的數據有問題。

我知道如何通過“tail”打印出最后一行,但我從未嘗試過提取數字,將它們相加並與數字進行比較以查看它是更小還是更大。

謝謝。

使用tail提取最后一行並將其提供給awk

$ tail -n 1 file | awk '$2 + $(NF-1) < 10 {print "Wrong"}'

如果您的文件有很多行,它會更快。

awk 'END{x=($2+$(NF-1));if(x<10) print "Wrong";else print "correct"}' test
correct

使用的樣本數據:

cat test

0       0       261157  0       13267   0       314     0       274738  736485  999.999756
1       0       261155  0       13269   0       314     0       274738  736625  1000.147705
2       0       261162  0       13264   0       312     0       274738  736703  1000.104370
3       0       261156  0       13265   0       312     0       274733  736838  1000.113708
4       0       261166  0       13261   0       311     0       274738  736918  999.999756
5       0       261173  0       13258   0       311     0       274742  737054  1000.001892
6       0       261153  0       13284   0       311     0       274748  737137  1000.204529
7       0       261152  0       13280   0       312     0       274744  736800  1000.188110
8       0       261154  0       13277   0       311     0       274742  737081  1000.107178
9       0       261150  0       13278   0       310     0       274738  737309  1000.189392
10      2348    260942  0       13271   0       310     2348    274523  737683  1001.341980
11      2342    260915  0       13264   0       310     2342    274489  737720  1000.341797
12      2340    260900  0       13272   0       310     2340    274482  738490  1000.266357
13      2339    260885  0       13284   0       309     2339    274478  738363  1000.312317

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM