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

大家好,在本文中,我們將了解如何使用 grep 和 sed 命令從文本文件中提取電子郵件地址。 如果文本文件太大並且沒有預定義的格式,則手動提取所有電子郵件地址的時間太長。 使用 grep 和 sed 之類的命令,可以按格式提取電子郵件地址或其他任何內容。 對於電子郵件地址,格式為名稱@域。 如果文件中的文本按列排列,我們可以使用 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

                    
Captura de pantalla de 2022 02 27 19 33 40

結論

因此,我們討論瞭如何使用 grep 命令從文本文件中提取電子郵件地址。 類似地,除了電子郵件地址,其他格式的數字或文本也可以使用 grep 命令提取。 感謝您的閱讀!

相關文章