Sed 帮助 - 如何排除某些模式

Sed 帮助 - 如何排除某些模式

标题措辞可能不是最好的。但让我解释一下我的问题。

我正在研究汽车数据集,看起来像这样

31.0   4   119.0   82.00   2720.   19.4   80s 1       "ford ranger"
36.0   4   105.0   77.00   6240.   28.3   70s 1       "ford granada" 

我的目标是在以下数据点之间添加一个空格

80s 1
70s 1

所以看起来应该是这样,数据点之间总共应该有两个空格。

31.0   4   119.0   82.00   2720.   19.4   80s  1       "ford ranger"
36.0   4   105.0   77.00   6240.   28.3   70s  1       "ford granada" 

我想出了以下命令 sed s/s( )/ /

但它所做的是删除十年后的 s,所以我的数据看起来像

31.0   4   119.0   82.00   2720.   19.4   80  1       "ford ranger"
36.0   4   105.0   77.00   6240.   28.3   70  1       "ford granada" 

那么,我怎样才能编写一个在 80 秒后添加空格但不会删除 s 的命令呢?

答案1

诀窍是你实际上想要替换s 后跟一个空格经过s 后跟两个空格

sed 's/s /s  /'
        ~  ~~  -->  Two spaces
        |
        \-------->  One space

相关内容