【问题标题】:Using sed to reorder string values within groups使用 sed 对组内的字符串值重新排序
【发布时间】:2016-08-25 23:38:18
【问题描述】:

类似于Using sed to extract string values

但我想知道如何在组的一侧重新排序字符串值。

例如,

我叫鲍勃,你好。

你好,我叫鲍勃

还有

史蒂夫·约瑟夫·安杰洛,

安吉洛、史蒂夫、约瑟夫

我知道这将需要类似于以下的正则表达式: sed -E 's/([^ ]*), ([^,]), ([^,])/\3, \2, \1/'name.txt

【问题讨论】:

    标签: regex string unix sed regex-group


    【解决方案1】:

    你可以试试这个:

    sed -E 's/([^,]*),([^ ]*) ([^,]*),([^.]*)\./\4, \2 \3, \1/'
    

    【讨论】:

    • 刚刚更新了帖子。那么我们如何将 "is Bob" 改为 "Bob is" 呢?
    • 这只会让它变成“你好,是鲍勃,我的名字” --> 它不会把它变成“鲍勃是”
    • 如果它是由空格分隔的呢?例如,Steve Mike Angelo., 成为 Angelo, Mike, Steve?
    • @user 匹配由空格分隔的非空格字符组
    猜你喜欢
    • 2018-10-16
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 2020-06-03
    • 2017-07-25
    • 2014-10-19
    • 1970-01-01
    • 2013-03-23
    相关资源
    最近更新 更多