Shell
執行 wc 並僅顯示字數
我一直在嘗試創建一個名為 的文件
~/dictwords.txt
,其中包含在文件中找到的單詞數/usr/share/dict/words
。我已經創建了文件,然後我刪除了它,因為我做錯了我最初執行了 echo 命令。然後我嘗試了這個命令並且非常興奮,因為我認為我是正確的。
wc -w /usr/share/dict/words > ~/dictwords.txt
還是錯了,我應該只有數字,沒有文件名。
預設情況下,
wc
列印結果和文件名。如果您只想要結果,則必須wc
從標準輸入進行讀取輸入:</usr/share/dict/words wc -w > ~/dicwords.txt
使用您目前的解決方案,您可以使用其他一些工具來僅獲取結果
wc
,例如cut
,awk
,grep
…wc -w /usr/share/dict/words | cut -d' ' -f1 > ~/dicwords.txt
儘管假設實現
wc
不會在數字前添加空格字元,但並非每個wc
實現都如此。
該文件
/usr/share/dict/words
應每行包含一個單詞。在某些系統上,我想它可能每行可能包含一個“字典術語”,並且每一個都可能由多個以空格分隔的單片語成,但我自己從未見過。你得到的行數之一
wc -l </usr/share/dict/words
(計算文件中換行符的數量)sed -n '$=' /usr/share/dict/words
(在最後一行,輸出目前行號)awk 'END { print NR }' /usr/share/dict/words
(在輸入結束時,輸出讀取的記錄(行)數)grep -c '[^[:space:]]' /usr/share/dict/words
(計算至少有一個非空格(-like)字元的行數)其中,該
wc -l
變體的可移植性最差,因為它可能會在實際數字之前和/或之後輸出或不輸出額外的空格。