提问者:小点点

使用grep操作文本文件


好,我有一个文本文件,格式是这样的,它有几行。

EXAMPLE1:EXAMPLE2:EXAMPLE3
EXAMPLE1:EXAMPLE2:EXAMPLE3
EXAMPLE1:EXAMPLE2:EXAMPLE3

我想使用 grep 将其更改为如下所示

EXAMPLE2:EXAMPLE3

基本上我想在以下之前取出第一部分:

如果有人能告诉我如何做到这一点,我将不胜感激。


共3个答案

匿名用户

您可以使用< code>cut实用程序过滤掉给定分隔符的列。

在此示例中,分隔符为 :,并且您希望每一列都以第二个开头

$ cut -d: -f2- < input.txt

匿名用户

您可以使用-o标志来选择输入中与grep中的正则表达式匹配的部分。

实例

$ grep -o "[^:]*:[^:]*$" input
EXAMPLE2:EXAMPLE3
EXAMPLE2:EXAMPLE3
EXAMPLE2:EXAMPLE3

匿名用户

另一种方法。希望这有所帮助。

awk -F":" '{printf "%s:%s\n" ,$1,$2}' file.txt

输出

EXAMPLE1:EXAMPLE2
EXAMPLE1:EXAMPLE2
EXAMPLE1:EXAMPLE2