我對這樣一個基本問題表示歉意,但我試圖用awk來計算文本文件中的空行數。這不是一項家庭作業。 Windows 10. Gawk 4.1.3用awk在文件中查找空行
BEGIN { x=0 }
/^$/ { x=x+1 }
END { print "I found " x " blank lines." }
輸出總是:我發現0個空行。
謝謝。
我對這樣一個基本問題表示歉意,但我試圖用awk來計算文本文件中的空行數。這不是一項家庭作業。 Windows 10. Gawk 4.1.3用awk在文件中查找空行
BEGIN { x=0 }
/^$/ { x=x+1 }
END { print "I found " x " blank lines." }
輸出總是:我發現0個空行。
謝謝。
該命令應該可以工作,但您可以跳過x
的初始化。 awk
會自動爲你做。您可以使用NF
變量進行檢查,如果它是0
,則該值爲false
該行爲空。此外,我建議使用printf
:
!NF {x++}
END {printf "I found %d blank lines\n", x}
順便說一句,你可以簡單地使用grep
grep -ch '^$' file
-c
只輸出出現的次數發現,-h
取消文件名的輸出。
使用命令替換的輸出插值爲echo
聲明:
echo "I found $(grep -ch '^$' file) blank lines"
除了你已經得到了很好的解決方案的awk,sed的解決辦法是
sed -n '/^$/p' file |wc -l
這裏-n
禁止顯示正常輸出,p
打印行空白的行 - (^$
)。 wc -l
計算如此打印的總行數。
您的解決方案適用於我。你還認爲僅有空白的行是空白的嗎? – eush77
gawk'NF == 0 {x ++} END {print「我找到了」x「空白行。」 }'文件 – Chet
因爲它按照eush77工作,所以它可能只是一個行結束符問題。也許嘗試先通過'dos2unix'管道。 – matz