如何使用sed删除某些单词之间的空格?

时间:2016-02-01 22:24:45

标签: linux sed vi

我想替换一行中的特定单词之间的字符(多行)。例如:

first second third |         first line
first second third |  second line
first second third |    third line 
first second third |                forth line 
....

我想在linux中使用sed或vi替换第三个和第一个/第二个/第三个/第四个之间的字符等。

如果已经回答了这个问题,请您提供链接吗? 谢谢!

3 个答案:

答案 0 :(得分:0)

sed -i 's/\ /whatever/g' ej.txt

-i:在文件中,表示直接在文件中进行更改

-s:替换

- ' \':识别空格

-g:每行的所有匹配

答案 1 :(得分:0)

您可以使用以下内容:

sed  's/ |.[^a-z]*//g' text.txt

或者如果你想在'第三'后有空格:

sed  's/ |.[^a-z]*/ /g' text.txt

记住 -i 标志以进行永久性更改。

答案 2 :(得分:0)

试试这个

sed 's/second third[^a-zA-Z]*/second third/g' file

它将取代第三个字母和第一个字母之间的所有内容。如果它可以使用-i,如果你想修改原始文件