2017-10-13 145 views
0

我想根據特定列的值過濾文件,忽略標題行。awk用於篩選具有〜60個字段和> 1500個條目的文件

命令我想:

awk '(NR = 1) || \ 
    (($7>=0.8) && ($13>-0.8) && ($19>=0.8) && \ 
     ($25>=0.8) && ($31>=0.8) && ($37>=0.8) && \ 
     ($39=3) && ($40=3))' infile.txt > outfile.txt 

當我運行此,所產生的outfile.txt是完全一樣infile.txt,即使我已簽有在infile.txt價值觀列7,13,19,25,31和37低於0.8,同樣,列39和40中的值低於3.

任何人都可以請幫我解決問題嗎?

謝謝!

ADIP

都包含一個例子infile.txt與我在這裏的一個文件的前幾行:

https://drive.google.com/file/d/0B8LuZenMuFYGekZwd1dpcks2Tkk/view?usp=sharing

+0

你可以添加一小部分infile.txt嗎? –

+1

不看輸入,我會改變第一部分爲'NR == 1' –

+1

哦。並將'($ 39 = 3)&&($ 40 = 3)'換成'$ 39 == 3 && $ 40 == 3' –

回答

2

受到壓力轉換評論回答。你在做AWK ;-)

兩個錯誤可能會解決你的問題: 更改NR = 1NR==1 和 變化($39=3) && ($40=3)$39==3 && $40==3

拿回家的消息:有分配=和比較之間的差異==