4
我有以下文件:awk NF文件名是如何工作的?
cat testing.txt
==============
line1 1
line2 2 2
line3 3 3
line4
我能理解awk 'NF > 0' testing.txt
如何工作的。此命令僅處理每條記錄中具有多個字段的字段數,因此空行和製表符將被刪除。
awk 'NF>0' testing.txt
line1 1
line2 2 2
line3 3 3
line4
但是我不明白awk NF testing.txt
是如何工作的。它和上面一樣。
awk NF testing.txt
line1 1
line2 2 2
line3 3 3
line4
我沒有在這種情況下指定任何條件。它仍然工作正常,並從每條記錄中刪除空行和標籤。
我可以在Web中看到很多引用,據說我們可以使用此命令從文件中刪除空行或製表符。但無法理解語法。
雖然我無法想象一個實際發生的情況,但可能考慮'NF!= 0'而不是嚴格的'NF> 0'。負數的字段很可能不是問題,儘管... ;-) – twalberg
是的,你是對的。出於好奇,我會把它留在這裏,看看埃德莫頓或另一位「awk」大師是否爲這個話題提供了更多的信息。我不認爲這是可能的,但:)謝謝@twalberg! – fedorqui
'當讀取一行時設置'NF'變量。就像'1'導致打印行一樣,如果'NF'的值爲1或更大(表示非空行,則根據值將其轉換爲「awk 1文件」或「awk 23文件」 'NF',因此打印該行,如果該行爲空,則'NF'的值爲'0','awk 0 file'不打印 –