Help with sed

Hi All, Here is my problem. I have a file with lots of lines in them. I need to find a pattern that looks like "21/06/2010 21:50:06 [5] " (with out double quotes) and replace it with enter.(Bring the rest of the text following it to newline) I was able to do it in VI but I need to do this via script. Please help thanks. John

try:

sed 's|21/06/2010 21:50:06 \[5\] |\n|' infile

i used it as following

sed 's|[0-9][0-9]/[0-9][0-9]/2010 [0-9][0-9]:[0-9][0-9]:[0-9][0-9] \[[0-9]*\] |\n|'

looks like it did it for few of them there are more partterns in between like "D:*/EXCLUSIVEISSUER%20OR%2021/06/2010 21:50:00 [10] action " where it dint do it.

Please suggest

It seems to work fine for your example

$ echo 'D:*/EXCLUSIVEISSUER%20OR%2021/06/2010 21:50:00 [10] action ' | 
sed 's|[0-9][0-9]/[0-9][0-9]/2010 [0-9][0-9]:[0-9][0-9]:[0-9][0-9] \[[0-9]*\] |\n|'
D:*/EXCLUSIVEISSUER%20OR%20
action

Can you post a sample input file?

looks like its not global.

here is the example
21/06/2010 21:50:06 [5] action=getQueryTagValues&Combine=Simple&DocumentCount=False&MatchAllTerms=false&AnyLanguage=true&Outpu
tEncoding=UTF8&DatabaseMatch=selects&FieldName=COUNTRYID&Text=*&FieldText=(((EXISTS%7B%7D:*/PREREL_DATE+AND+LTNOW%7B%7D:/PRER
EL_DATE)+OR+((NOT%20EXISTS%7B%7D:*/PREREL_DATE)+AND+LTNOW%7B%7D:*/RELDATE)))+AND+(GTNOW%7B%7D:
/EXPDATE)+AND+((MATCH%7B0fff2a0
c2f13a110VgnVCM2000001b45640aRCRD%7D:ISSUERWHITELIST)+OR+((NOT(MATCH%7B0fff2a0c2f13a110VgnVCM2000001b45640aRCRD%7D:ISSUERBLACK
LIST))+AND+(((MATCH%7Blocal%7D:LOCALONLY)+AND+(MATCH%7Bccfb43b68d898110VgnVCM2000007cc6410aRCRD%7D:COUNTRYID))+OR+((MATCH%7Bto
urist%7D:LOCALONLY)+AND+(NOT(MATCH%7Bccfb43b68d898110VgnVCM2000007cc6410aRCRD%7D:COUNTRYID)))+OR+(MATCH%7Bglobal%7D:LOCALONLY)
)+AND+(NOT%20EXISTS%7B%7D:*/EXCLUSIVEPROGRAM%20OR%20%20MATCH%7Bna%7D:EXCLUSIVEPROGRAM)+AND+(NOT%20EXISTS%7B%7D:/EXCLUSIVEISSU
ER%20OR%20%20MATCH%7B0fff2a0c2f13a110VgnVCM2000001b45640aRCRD%7D:EXCLUSIVEISSUER)))&Start=121&MaxValues=180 (10.100.69.8)
21/06/2010 21:50:07 [10] action=getQueryTagValues&Combine=Simple&DocumentCount=True&MatchAllTerms=false&AnyLanguage=true&Outpu
tEncoding=UTF8&DatabaseMatch=selects&FieldName=/DOCS/DOCUMENT/CATEGORY&Text=4ad6124c73ce8110VgnVCM2000007cc6410aRCRD&FieldText
=(((EXISTS%7B%7D:*/PREREL_DATE+AND+LTNOW%7B%7D:*/PREREL_DATE)+OR+((NOT%20EXISTS%7B%7D:*/PREREL_DATE)+AND+LTNOW%7B%7D:
/RELDATE
)))+AND+(GTNOW%7B%7D:/EXPDATE)+AND+((MATCH%7B801e64cab49ba110VgnVCM2000001b45640aRCRD%7D:ISSUERWHITELIST)+OR+((NOT(MATCH%7B80
1e64cab49ba110VgnVCM2000001b45640aRCRD%7D:ISSUERBLACKLIST))+AND+(((MATCH%7Blocal%7D:LOCALONLY)+AND+(MATCH%7B4ad6124c73ce8110Vg
nVCM2000007cc6410aRCRD%7D:COUNTRYID))+OR+((MATCH%7Btourist%7D:LOCALONLY)+AND+(NOT(MATCH%7B4ad6124c73ce8110VgnVCM2000007cc6410a
RCRD%7D:COUNTRYID)))+OR+(MATCH%7Bglobal%7D:LOCALONLY))+AND+(NOT%20EXISTS%7B%7D:
/EXCLUSIVEPROGRAM%20OR%20%20MATCH%7Bna%7D:EXCL
USIVEPROGRAM)+AND+(NOT%20EXISTS%7B%7D:/EXCLUSIVEISSUER%20OR%20%20MATCH%7B801e64cab49ba110VgnVCM2000001b45640aRCRD%7D:EXCLUSIV
EISSUER)))&21/06/2010 21:50:07 [5] action=getQueryTagValues&Combine=Simple&DocumentCount=True&MatchAllTerms=false&AnyLanguage=
true&OutputEncoding=UTF8&DatabaseMatch=selects&FieldName=/DOCS/DOCUMENT/CATEGORY&Text=c459f8421068d110VgnVCM1000001445640aRCRD
&FieldText=(((EXISTS%7B%7D:*/PREREL_DATE+AND+LTNOW%7B%7D:*/PREREL_DATE)+OR+((NOT%20EXISTS%7B%7D:
/PREREL_DATE)+AND+LTNOW%7B%7D
:*/RELDATE)))+AND+(GTNOW%7B%7D:/EXPDATE)+AND+((MATCH%7B801e64cab49ba110VgnVCM2000001b45640aRCRD%7D:ISSUERWHITELIST)+OR+((NOT(
MATCH%7B801e64cab49ba110VgnVCM2000001b45640aRCRD%7D:ISSUERBLACKLIST))+AND+(((MATCH%7Blocal%7D:LOCALONLY)+AND+(MATCH%7Bc459f842
1068d110VgnVCM1000001445640aRCRD%7D:COUNTRYID))+OR+((MATCH%7Btourist%7D:LOCALONLY)+AND+(NOT(MATCH%7Bc459f8421068d110VgnVCM1000
001445640aRCRD%7D:COUNTRYID)))+OR+(MATCH%7Bglobal%7D:LOCALONLY))+AND+(NOT%20EXISTS%7B%7D:
/EXCLUSIVEPROGRAM%20OR%20%20MATCH%7B
na%7D:EXCLUSIVEPROGRAM)+AND+(NOT%20EXISTS%7B%7D:/EXCLUSIVEISSUER%20OR%20%20MATCH%7B801e64cab49ba110VgnVCM2000001b45640aRCRD%7
D:EXCLUSIVEISSUER)))&M21/06/2010 21:50:07 [10] action=query&Combine=Simple&TotalResults=true&MatchAllTerms=true&AnyLanguage=tr
ue&OutputEncoding=UTF8&LanguageType=englishUTF8&DatabaseMatch=selects&Text=5718625f12ac8110VgnVCM10000018c6410aRCRD&FieldText=
(LTNOW%7B%7D:*/RELDATE)+AND+(GTNOW%7B%7D:
/EXPDATE)+AND+((MATCH%7B/amexnetwork/category/Shopping/Jewelry_and_Accessories%7D:CA
TEGORY)+AND+(((MATCH%7Blocal%7D:LOCALONLY)+AND+(MATCH%7Bdf18e8f8d0aad110VgnVCM2000001b45640aRCRD%7D:COUNTRYID))+OR+((MATCH%7Bt
ourist%7D:LOCALONLY)+AND+(NOT(MATCH%7Bdf18e8f8d0aad110VgnVCM2000001b45640aRCRD%7D:COUNTRYID)))+OR+(MATCH%7Bglobal%7D:LOCALONLY
))+AND+(NOT%20EXISTS%7B%7D:*/EXCLUSIVEPROGRAM%20OR%20%20MATCH%7Bna%7D:EXCLUSIVEPROGRAM)+AND+(NOT%20EXISTS%7B%7D:*/EXCLUSIVEISS
UER%20OR%20%20MATCH%7Bna%7D:EXCLUSIVEISSUER))&MaxResults=1&PrintFields=FEATURED (10.100.69.8)

your code is seem correct such Scrutinizer's said also

maybe you can try this

 
sed 's@[0-9][0-9]/.*/.*:.*:.*\[.*\]@\n@g' infile

regards
ygemici

Indeed like ygemici suggests, try the global option, e.g.

sed 's|[0-9][0-9]/[0-9][0-9]/2010 [0-9][0-9]:[0-9][0-9]:[0-9][0-9] \[[0-9]*\] |\n|g'
1 Like

Global was an issue.

Thanks all

---------- Post updated at 03:39 AM ---------- Previous update was at 03:39 AM ----------

Global was the issue.

Thanks all

 sed -r 's/[0-9]{2}\/[0-9]{2}\/[0-9]{4}[ ]{1,}[0-9]{2}:[0-9]{2}:[0-9]{1,}[ ]{1,}\[[0-9]\]/\n/g'

try this

---------- Post updated at 03:14 PM ---------- Previous update was at 03:06 PM ----------

A shorter version

sed -r 's/([0-9]{2}\/){2}[0-9]{4}[ ]{1,}([0-9]{2}:){2}[0-9]{1,}[ ]{1,}\[[0-9]\]/\n/g'