大家好。本文介紹如何使用 grep 和 sed 命令從文本文件中提取電子郵件地址。如果文本文件太大並且不是預定義的格式,手動提取每個電子郵件地址將花費很長時間。 您可以使用 grep 和 sed 等命令以該格式提取電子郵件地址等。對於電子郵件地址,格式為: [email protected]..如果文件中的文本放在一列中,則可以使用 awk 命令。

使用 Grep 命令從文本文件中提取電子郵件地址

grep 命令用於根據模式打印行。句法 grep 命令看起來像這樣

grep -e -o <"pattern"> <filename>

在哪裡 -e 帶有使用分配模式的選項 -o 用於僅打印匹配的部分。電子郵件地址的表達式可以寫成如下。

<username>@<domain>.<address>
[a-zA-Z0-9._][email protected][a-zA-Z]+.[a-zA-Z]+

其中 az、AZ 和 0-9 代表字母和數字。在第一個領域 .. 什麼時候 _ 顯示允許的電子郵件地址的用戶名。這個 + + 表示需要考慮重複的字母和數字。

包含一些電子郵件地址的示例是名為 abc.txt 的文本文件,如下所示。

要從文本文件中提取電子郵件地址,請運行以下命令:

grep -oe "[a-zA-Z0-9._][email protected][a-zA-Z]+.[a-zA-Z]+" abc.txt

如果不使用 -o,則打印包含電子郵件地址的整行。在上面的示例中,輸出將如下所示:

grep -e "[a-zA-Z0-9._][email protected][a-zA-Z]+.[a-zA-Z]+" abc.txt
2022 022719 33 40截圖

結論是

所以我解釋瞭如何使用 grep 命令從文本文件中提取電子郵件地址。同樣,除了電子郵件地址之外,還可以使用 grep 命令提取其他格式的數字和文本。謝謝你的閱讀!