拆分:用sed

时间:2018-01-03 16:26:27

标签: bash sed

我有一个包含这样的数据的文件

word0:secondword0
word1:secondword1
word2:secondword2
word3:secondword3
word4:secon:word4

我想用sed分割那些内容,只给我第一个冒号后面的第二个单词。

最终结果看起来像

secondword0
secondword1
secondword2
secondword3
secon:word4

注意最后一个单词的第二个冒号是该单词的一部分。

我如何编写这样的脚本,只分割第一个结肠,但保留其余部分?

2 个答案:

答案 0 :(得分:0)

这可以使用gnu grep

完成
grep -Po ':\K.*' <<END
word0:secondword0
word1:secondword1
word2:secondword2
word3:secondword3
word4:secon:word4
END

:匹配:的第一次出现,\K保持:不在匹配.*与该行的其余部分匹配,-o输出只匹配

答案 1 :(得分:0)

关注sed可以帮助您。

sed 's/\([^:]*\):\(.*\)/\2/'   Input_file

输出如下。

secondword0
secondword1
secondword2
secondword3
secon:word4