如何使用正则表达式删除重复的单词,如何复制单词?我的情况:我有一个需要转向SQL查询的电子邮件列表。
buddy@gmail.com
melinda@yahoo.co.uk
terrence12@gmail.com
要:
mysql -e "select * from users where email='buddy@gmail.com" > /tmp/buddy@gmail.com.xls
mysql -e "select * from users where email='melinda@yahoo.co.uk" > /tmp/melinda@yahoo.co.uk.xls
mysql -e "select * from users where email='terrence12@gmail.com" > /tmp/terrence12@gmail.com.xls
那么如何在每一行复制电子邮件?
注意:每个查询都会返回多行,这就是我单独执行每个查询的原因。
答案 0 :(得分:2)
s/(.*)/mysql -e "select * from users where email='\1' > /tmp/\1.xls/
答案 1 :(得分:1)
查找模式:
(.+)
替换模式:
mysql \-e "select \* from users where email='$1" \> /tmp/$1\.xls\r\n
工作原理: (。+):捕获一行直到结束(换行符之前) $ 1:是被捕获的组
注意:' - '和'*'被转义。
答案 2 :(得分:0)
您不需要正则表达式
psedocode:
for each line
set email = line // line should be trimmed of newlines
append 'mysql -e "select * from users where email=\'$email\' > /tmp/$email.xls"' to filename
end