我正在尝试删除Who:,What:,When:,Where:以及文本文件中每行的前进空格。以下是一个例子:
Who: Tester1+Password
What: Authentication Success
When: Tues March 20, 2015 08:15:02 UTD
Where: 198.192.1.2
答案 0 :(得分:2)
如果您要删除第一个:
以外的任何内容,则可以执行以下操作:
sed -re 's/(^[^:]+: )(.*)/\2/' file
Tester1+Password
Authentication Success
Tues March 20, 2015 08:15:02 UTD
198.192.1.2
正如格伦所说,我们可以通过删除我们不需要的部分来完全避免捕获组。
sed 's/[^:]\+: //' file
答案 1 :(得分:2)
使用cut
排除第一个以空格分隔的字段:
cut -d " " -f 2- file
答案 2 :(得分:1)
将匹配的内容,地点,时间,人物置于捕获组中,然后使用冒号。然后用空字符串替换匹配的字符。如果要进行不区分大小写的匹配,请在最后添加i
标志。
$ sed 's/^Wh\(ere\|en\|at\|o\):[[:blank:]]*//' file
Tester1+Password
Authentication Success
Tues March 20, 2015 08:15:02 UTD
198.192.1.2
一般情况下,您可以使用
sed 's/^[^[:blank:]]\+[[:blank:]]\+//' file
答案 3 :(得分:1)
sed 's/^[^ ]* *//' YourFile
假设只有这4个单词是可能的并且作为你的样本