終端機 - Macbook GREP 查詢

終端機 - Macbook GREP 查詢

我成功使用以下終端命令在非常大的 csv 文件中查找特定文本,並創建一個單獨的 csv 文件作為輸出:

grep "text" filename.csv > outputfile.csv

有什麼方法可以使用類似的命令來搜尋多個不同的文本,並將其保存在同一個輸出檔案中?

答案1

您可以使用以下命令搜尋多種模式-e

grep -e text1 -e text2 filename.csv > outputfile.csv

使用 GNU grep、FreeBSD grep 和 busybox grep 實作進行測試,也在 POSIX-eGNU grep 手冊頁中是這樣解釋的:

   -e PATTERN, --regexp=PATTERN
          Use PATTERN as the pattern.  If this option is used
          multiple times or is combined with the -f (--file)
          option, search for all patterns given.  This option can
          be used to protect a pattern beginning with "-".

答案2

原則上,您可以在正規表示式中使用“OR”樣式的替代方案:

grep "text1\|text2" filename.csv > outputfile.csv

或者

grep -E "text1|text2" filename.csv > outputfile.csv

可用的語法在某種程度上取決於grep您安裝的版本(上面的內容在 GNU grep 中肯定有效)。

答案3

如果你想搜尋不同的字串,你可以使用egrepor grep -E

egrep "text|string|word|" filename.csv > outputfile.csv

grep -E "seal|walrus|otter" filename.csv > outputfile.csv

這些將列印出包含任何這些字串的行。您也可以將它們與其他選項結合使用,例如:

egrep -v "text|string|word|" filename.csv > outputfile.csv

這將列印出不包含任何這些字串的行。

相關內容