我是shell脚本的新手。 我有一个文本文件,包含一些文本和一些电子邮件ID。现在我必须编写一个shell脚本来查找所有电子邮件ID。 请帮帮我。
答案 0 :(得分:0)
这是一种快速而肮脏的方法来读取文件中的所有电子邮件地址,然后将它们打印到stdout:
#!/bin/bash
ifn=${1:-emfile.txt} # the first arguments is the filename
# test that it is readable or exit
[ -r "$ifn" ] || {
printf "error: file open failed '%s'\n" "$ifn"
exit 1
}
# parse all emails in file and write to stdout
grep -i -o '[A-Z0-9._%+-]\+@[A-Z0-9.-]\+\.[A-Z]\{2,4\}' <"$ifn"
exit 0
<强>输入强>
$ cat emailfile.txt
jon@mickeys.com
Jane@joestonight.org
some@more.com
just some text
<强>输出强>
$ bash parseemail.sh emailfile.txt
jon@mickeys.com
Jane@joestonight.org
some@more.com