unterminated address regex while using sed

前端 未结 3 1395
无人及你
无人及你 2021-01-12 01:59

I am using the below command but while running the command in linux, getting the below error.

sed -n \'/^[2015/01/01 03:46/,/^[2015/01/01 03:47/p\' < Inpu         


        
相关标签:
3条回答
  • 2021-01-12 02:14

    escape [ i.e. \[ and change sed's delimiter to # or some character other than / so it will avoid you having to escape every /

    sed -n '\#^\[2015/01/01 03:46#,\#^\[2015/01/01 03:47#p'
    

    Note: I escape the first octothorpe in front of each pattern so that sed can interpret it as a delimiter.

    0 讨论(0)
  • 2021-01-12 02:15

    You need to escape the [, or else it thinks its start of a group, and escape to / in your data.

    sed -n '/^\[2015\/01\/01 03:46/,/^\[2015\/01\/01 03:47/p' Input.txt
    

    or (thanks to nu11p01n73R)

    sed -n '\|^\[2015/01/01 03:46|,\|^\[2015/01/01 03:47|p' Input.txt
    
    0 讨论(0)
  • 2021-01-12 02:24

    "[" is a special character in regex. You would need to escape it and use it like:

    sed -n '/^\[2015\/01\/01 03:46/,/^\[2015\/01\/01 03:47/p' Input.txt
    Output:
    [2015/01/01 03:46] INFO ....
    [2015/01/01 03:46] ERROR ....
    [2015/01/01 03:47] INFO ....
    
    0 讨论(0)
提交回复
热议问题