我有一个包含这样的数据的文件
word0:secondword0
word1:secondword1
word2:secondword2
word3:secondword3
word4:secon:word4
我想用sed分割那些内容,只给我第一个冒号后面的第二个单词。
最终结果看起来像
secondword0
secondword1
secondword2
secondword3
secon:word4
注意最后一个单词的第二个冒号是该单词的一部分。
我如何编写这样的脚本,只分割第一个结肠,但保留其余部分?
答案 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