Splitting on : with sed



我有一个包含类似数据的文件

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

我想使用 sed 拆分该内容,只给我第一个冒号之后的第二个单词。

最终结果看起来像

secondword0
secondword1
secondword2
secondword3
secon:word4

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

我将如何编写这样一个只在拳头冒号上拆分但保留其余部分的脚本?

以下sed可以帮助您。

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

输出将如下所示。

secondword0
secondword1
secondword2
secondword3
secon:word4

这可以用 gnu grep 来完成

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

:匹配:的第一次匹配,K :不匹配.*匹配行的其余部分,-o输出仅匹配

最新更新