我想跟随我的朋友关注的人(全部1,522人)
并从他的推特页面获得了一个文本文件,我想看到以@
开头的一行的最后一个单词。
示例:
Podcaster, broadcaster and tech pundit. The Tech Guy on the Premiere Radio
Networks. Live at live.twit.tv For my link feed follow @links_for_twit
(换行以删除可恶的水平滚动条。)
我想将其变成@links_for_twit
。
答案 0 :(得分:2)
改用awk:
awk '$NF ~ /^@/ {print $NF}'
答案 1 :(得分:1)
你的意思是,像:
grep -o '@[a-zA-Z_0-9]*$' tweets.txt
答案 2 :(得分:1)
如果你想使用sed,试试这个:
sed -n 's/.*\(@.*\)/\1/p'
-n
:除非被要求
s/.*\(@.*\)
:捕获行
/\1/
:用捕获的位替换整行
p
:如果进行了替换则打印
希望有所帮助
编辑:我刚刚看到有关电子邮件地址的投诉。您可以在@之前添加\s
以确保有空格:sed -n 's/.*\s(@.*\)/\1/p'
答案 3 :(得分:0)
如果您有GNU grep,可以使用Perl风格的正则表达式来确保@
位于单词的开头:
grep -Po '(?<=^|\s)@\w+' filename