我正在使用它來計算使用 bash 的文本檔案中的頻率。
grep -ow -i "and" $1 | wc -l
它計算檔案中的所有和,包括復合詞的一部分,例如jerry-and-jeorge。這些我希望忽略并計算所有其他獨立的和。
uj5u.com熱心網友回復:
使用 GNU grep,您可以使用以下命令計算and未用連字符括起來的單詞:
grep -ioP '\b(?<!-)and\b(?!-)' "$1" | wc -l
詳情:
P選項啟用 PCRE 正則運算式語法\b(?<!-)and\b(?!-)火柴\b- 單詞邊界(?<!-)- 如果在當前位置的左側有一個連字符,則匹配失敗的負向后查找and- 固定字串\b- 單詞邊界(?!-)- 如果在當前位置的右側有一個連字符,則匹配失敗的負前瞻。
查看在線演示:
#!/bin/bash
s='jerry-and-jeorge, and, aNd, And.'
grep -ioP '\b(?<!-)and\b(?!-)' <<< "$s" | wc -l
# => 3 (not 4)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/479391.html
