代码之家  ›  专栏  ›  技术社区  ›  Kwoner

Bash `sed`正则表达式分组

  •  0
  • Kwoner  · 技术社区  · 11 月前

    我试着把这样的一条线变成使用 sed 我不太擅长正则表达式,我正在寻求一些帮助 sed 命令。

    /Application/Lockscreen/ @smiths
    /Application/BlueLock/ @egoists
    

    path: */Application/Lockscreen/* @smiths
    path: */Application/BlueLock/* @egoists
    
    1 回复  |  直到 11 月前
        1
  •  0
  •   Allan Wind    11 月前

    我会匹配第一个单词 [^ ]* 然后添加前缀和后缀 & :

    $ sed 's/[^ ]*/path: *&*/' input.txt
    path: */Application/Lockscreen/* @smiths
    path: */Application/BlueLock/* @egoists
    

    或者,如果它在您的上下文中更有意义,请用以下内容替换空格 '* ' 和开始 ^ 具有 'path: ' (订单事项):

    $ sed 's/ /* /; s/^/path: */' input.txt
    path: */Application/Lockscreen/* @smiths
    path: */Application/BlueLock/* @egoists