Grep:删除每行的第一个单词

时间:2015-08-26 12:28:38

标签: grep

我有一个很长的文档,需要删​​除每行中的第一个单词。

这可能与Grep有关吗?我在网上搜索过,但只能找到删除特定类型的第一个单词的教程(例如所有以?开头的单词)。无论其内容如何,​​我都需要删除第一个单词。

例如:

THE TOURIST OFFICE
Isabel Good morning! My name’s Isabel.
Colleague Where do you live in Salamanca?
Juan Condal Hotel.
OUTSIDE THE CONDAL HOTEL

变为

TOURIST OFFICE
Good morning! My name’s Isabel.
Where do you live in Salamanca?
Condal Hotel.
THE CONDAL HOTEL

如果它可以跳过所有大写字母,那就更好了。

例如

THE TOURIST OFFICE
Isabel Good morning! My name’s Isabel.
Colleague Where do you live in Salamanca?
Juan Condal Hotel.
OUTSIDE THE CONDAL HOTEL

成为

THE TOURIST OFFICE
Good morning! My name’s Isabel.
Where do you live in Salamanca?
Condal Hotel.
OUTSIDE THE CONDAL HOTEL

2 个答案:

答案 0 :(得分:2)

尝试使用GNU sed:

sed -E 's/^[A-Z]*[a-z]+ (.*)/\1/' file

输出:

THE TOURIST OFFICE
Good morning! My name’s Isabel.
Where do you live in Salamanca?
Condal Hotel.
OUTSIDE THE CONDAL HOTEL

答案 1 :(得分:2)

对于第一种情况,无论大小写都删除第一个单词,您可以使用以下sed命令:

sed "s/^\S*\s//g" file