Regex 使用带单个空白的grep进行匹配

Regex 使用带单个空白的grep进行匹配,regex,grep,Regex,Grep,我正在尝试使用grep匹配字符串。我想要所有有两个单词的字符串,一个单词可以是任何东西,另一个时间。例如: 输入: AZ time CA summer time Winter time time here! time in AZ 输出: AZ time Winter time 我尝试使用grep“[a-zA-z]time$]”,但由于某些原因,输出是: AZ time CA summer time Winter time 你知道为什么会这样吗?句子中只能有一个空格。基本上结构“时间”谢谢

我正在尝试使用grep匹配字符串。我想要所有有两个单词的字符串,一个单词可以是任何东西,另一个时间。例如:

输入:

AZ time
CA summer time
Winter time
time here!
time in AZ
输出:

AZ time
Winter time
我尝试使用
grep“[a-zA-z]time$]”
,但由于某些原因,输出是:

AZ time
CA summer time
Winter time

你知道为什么会这样吗?句子中只能有一个空格。基本上结构“时间”谢谢

您可以使用此
egrep

egrep "^[a-zA-Z]+ time$" file
AZ time
Winter time
或者使用
grep
您可以使用:

grep "^[[:alpha:]]\+ time$" file

您可以使用以下命令

grep '^[a-zA-Z]\+ time' file

使用
很简单,你不需要“emThe
[a-zA-Z]
在单词
时间之前捕捉字母,因此你在
AZ时间
中捕捉
Z
,在
CA夏季
中捕捉
r
,在
冬季
中捕捉
r
。您想使用
^[a-zA-Z]+time$
来匹配字符串的开头和结尾。您的
[a-zA-Z]
应该有一个大写字母
Z
[a-zA-Z]
谢谢您的打字错误,我现在已经修好了。您为什么需要+?我只想对它进行一次运算。
+
表示
a
z
的任何字符(
1
或更多次),如果你去掉量词,它将只匹配
a
z