所以,如果我有这样的.txt:
He.likes.coding
She.likes.juice
He.likes.coffee
变成:
He.likes
She.likes
He.likes
因此它将保留特殊文本(.likes)
如果已有答案,我很抱歉,但我没有找到。我发现的所有内容都删除了.likes。
答案 0 :(得分:2)
你可以使用sed。
sed 's/\.likes.*/.likes/' file
.*
匹配除换行符之外的任何字符,零次或多次。在这里,我们不需要添加g
全局标记,因为每行都会发生一次匹配。
或强>
使用捕获组。
sed 's/\(\.likes\).*/\1/' file
答案 1 :(得分:2)
这是awk
awk -F"likes" '{print $1FS}' file
He.likes
She.likes
He.likes
使用likes
分隔字段,然后打印字段前的所有内容和字段分隔符。
如果还有其他行不应更改,请使用:
awk -F"likes" 'NF>1{$0=$1FS}1' file
它只会更改行中有likes
的行。
答案 2 :(得分:1)
使用GNU grep:
grep -oP '.*likes' file
输出:
He.likes She.likes He.likes