私はこれを使用して行いgrep -o
ます。正確にはtcshに「含まれている」わけではありませんが、任意のスクリプトからgrepを使用できます。この-o
オプションにより、grepは正規表現に一致するテキストのみを返します。
入力ファイルは現在、セミコロンを使用してレコードを区切りているように見えます。grep
行ごとに読み取るため、これは重要です。そのため、レコードセパレータを改行に置き換えて、各レコードtr
が確実に表示されるようにします。grep
ghoti@pc> cat strip_email
#!/bin/tcsh
setenv inputfile emails.txt
setenv re_email '[[:alnum:]][[:alnum:]_%=+-]*@([[:alnum:]]([[:alnum:]-])+\.)+[[:alnum:]]{2,}'
tr ';' '\n' < $inputfile | grep -Eo "$re_email"
ghoti@pc> ./strip_email
per@netvision.net
eina@gmail.com
ori@gmail.com
ghoti@pc>
正規表現を自分に合ったものに適合させることができます。UNIXまたはLinuxシステムでは、マニュアルページre_format(7)
またはregex(7)
ドキュメントを確認できます。作品はそこ[:alnum:]
に文書化されているだけでなく、isalnum
。