Bash 添加grep命令/grep或操作

Bash 添加grep命令/grep或操作,bash,grep,Bash,Grep,我得到一个日志文件,里面有一些数据,如下所示 2016-01-21 16:18:23,644 SECURE POST Data (accounts.google.com): Page=SignIn&GALX=lw6hYFRj2vg&gxf=AFoagUWl6uaAvm41g5BiLg4tzAG3rzr4Bw%3A1453389448463&continue=http%3A%2F%2Fmail.google.com%2Fmail%2F&service=mail&am

我得到一个日志文件,里面有一些数据,如下所示

2016-01-21 16:18:23,644 SECURE POST Data (accounts.google.com):
Page=SignIn&GALX=lw6hYFRj2vg&gxf=AFoagUWl6uaAvm41g5BiLg4tzAG3rzr4Bw%3A1453389448463&continue=http%3A%2F%2Fmail.google.com%2Fmail%2F&service=mail&rm=false&ltmpl=default&scc=1&ss=1&osid=1&_utf8=%E2%98%83&bgresponse=%21e3hCAbRRQ3hYrxREZng_0CIqYqYCAAAHwVIAAAAPCgAul8aVFVW6vFlJlCUbkcM-dCTX3viATy-tutZZ_Ly-Y5YBPm6Yuj40a_bnqPMlDyoA9UmspmGcwKh4Noz6dvw89DccGJhC0OlSmloJ5VdtG0XAxn35sIzwmEMIgVu2_4O_EstPMi7vmIJCqhPE3h5yCgAQ2KWuWil0RkW9M35uq-7KCq3dOsbPdONTRzD0nhhxKTj2SS5nuHTDxcMqZNyKs-YnNgKJwTqaooxfPHmzbMl2QC9Sn7cGBVmjWjJgpZpLXNKKjXLUYswDkjcI2dIR1-u7nNIapY4f2btHyoQi3DweV12Xck9dPgDNepXpsv9rqgbLzogYKevZtgNvYJnB5TyYl8vLf1zAdQ7gs-bjc4tJ7k-s7CUp6GY8tSk8b9ylmEs99ekZ&pstMsg=1&dnConn=&checkConnection=&checkedDomains=youtube&Email=adressmail@gmail.com&Passwd=somehardpass&signIn=Sign+in&PersistentCookie=yes&rmShown=1
2016-01-21 16:21:23,767 POST Data (store.steampowered.com):
donotcache=1453422082051&username=steamusser
2016-01-21 16:22:17,378 SECURE POST Data (login.live.com):
loginfmt=mailhotmail@hotmail.com&passwd=password&login=mailhotmail@hotmail.com&type=11&PPFT=DQ*u1t4V8*JGcTxFANAPwd1ir7J4MwRwvmveEIfUgySN%211dU2tRMIAUjqfG1ZAuzBE2FZlf7kF8%21UFfCIoI0ohkICsbu02bh88rUKcLnLbSfJC%21NzmGFT5OdXr*xoxhRZndArR*PiGXEtlofqMnNEyWBzJ25iXmQPXLG1htBags20SfL6WoNd2OVduOfYehkTDcIOUEs37BdW8OXtVJiIDxcn3DgSZQuzccPLRwStOiq&PPSX=P&idsbho=1&sso=0&NewUser=1&LoginOptions=3&i1=0&i2=1&i3=87238&i4=0&i7=0&i12=1&i13=0&i14=531&i15=1775&i17=0&i18=__Login_Strings%7C1%2C__Login_Core%7C1%2C
我正在使用grep命令获取站点

grep -oP '\(\K[^)]*' log.txt
它告诉我

accounts.google.com
store.steampowered.com
login.live.com
获取我正在使用的登录名/用户名

 grep -oP 'login\K[^&]*' log.txt
    grep -oP 'user=\K[^&]*' log.txt
    grep -oP 'username=\K[^&]*' log.txt
    grep -oP 'EMAIL=\K[^&]*' log.txt
它会显示用户名、登录名和电子邮件

Email=adressemail@gmail.com
username=steamusser
etc.
我想做的是得到一次回报

 accounts.google.com
 Email=adressemail@gmail.com

store.steampowered.com
 username=steamusser

如何在一行中执行所有这些grep命令。我试过用|做手术,但对我不起作用。我是bash和grep的新手。你们能帮我吗

只需将您的正则表达式组合在一起:

kent$  grep -oP '\(\K[^)]*|(user|username|Email|login)=[^&]*' file
accounts.google.com
Email=adressmail@gmail.com
store.steampowered.com
username=steamusser
login.live.com
login=mailhotmail@hotmail.com

只需一起制作正则表达式:

kent$  grep -oP '\(\K[^)]*|(user|username|Email|login)=[^&]*' file
accounts.google.com
Email=adressmail@gmail.com
store.steampowered.com
username=steamusser
login.live.com
login=mailhotmail@hotmail.com