Grep
如何grep兩個逗號之間的文本
我在文本文件中有一個字元串,我想 grep 電子郵件地址,但它不起作用
26,2,12,1,1,0,1,0,12,20,648130864.573339,,"iCloud - Device Locator",,,69FFBE2F-6626-4A4B-8A78-BF7D06DE59C7,7F223B27-9588-4719-81B9-074666A76E1D,com.apple.accountsd,youremail@yahoo.com,
我嘗試:
grep -Eo "\b@'[^']*'"
但它不起作用我需要輸出:yourremail@yahoo.com
P/s:也許該欄位不是第 19 位,但電子郵件始終位於行尾
如果電子郵件始終是第 19 項,則可以使用
cut -d, -f 19
-d,
表示“,”是分隔符,-f 19
表示您需要第 19 個欄位。更新:
如果電子郵件始終是該行中的倒數第二項(注意後面有逗號),您可以使用
sed
:sed -e 's/.*,\(.*\),/\1/'
使用
csvcut
來自csvkit
:csvcut -c 19 file
或者,您可以嘗試嘗試
awk
是否始終是倒數第二個欄位:awk -F, '{print $(NF-1)}'
如果最後一個欄位包含逗號,這將不起作用。