Regex bashshell中的文件正则表达式扩展

Regex bashshell中的文件正则表达式扩展,regex,bash,Regex,Bash,我想查看一组文件的最后几行,即:file9.log、file10.log、file11.log和file12.log 以下表达式仅显示文件10到文件12的最后几行: tail -n 2 file[91][0-2].log 如何指定[0-2]是可选的?您可以尝试: tail -n 2 file{9..12}.log 这将扩展到 tail -n 2 file9.log file10.log file11.log file12.log 您可以尝试: tail -n 2 file{9..12}.l

我想查看一组文件的最后几行,即:file9.log、file10.log、file11.log和file12.log

以下表达式仅显示文件10到文件12的最后几行:

tail -n 2 file[91][0-2].log
如何指定[0-2]是可选的?

您可以尝试:

tail -n 2 file{9..12}.log
这将扩展到

tail -n 2 file9.log file10.log file11.log file12.log
您可以尝试:

tail -n 2 file{9..12}.log
这将扩展到

tail -n 2 file9.log file10.log file11.log file12.log

首先,设置扩展全局:

set extglob
然后指定可选部分:

tail -n 2 file[91]?([0-2]).log

首先,设置扩展全局:

set extglob
然后指定可选部分:

tail -n 2 file[91]?([0-2]).log

为什么我不能同时投票和接受?我必须等5分钟才能接受你的答案:)。我不知道,我认为这是为了防止机器人升级投票。为什么我不能同时升级投票和接受?我必须等待5分钟才能接受你的答案:)。我不知道,我认为这是为了防止机器人升级所有内容。从技术上讲,这也将匹配
file90.log
file91.log
,以及
file92.log
,如果它们存在的话。请尝试使用
file@(9|1[0-2]).log
。从技术上讲,这也将匹配
file90.log
file91.log
,以及
file92.log
(如果存在)。尝试
file@(9|1[0-2])。改为记录。