如何在正则表达式中使用数字间隔?

Gep*_*ada 0 regex bash

我有一组文件夹:

$ ls -d _clip* 
_clip10.trim  _clip12.trim  _clip14.trim  _clip16.trim  _clip2.trim  _clip4.trim  _clip6.trim  _clip8.trim
_clip11.trim  _clip13.trim  _clip15.trim  _clip1.trim   _clip3.trim  _clip5.trim  _clip7.trim  _clip9.trim
Run Code Online (Sandbox Code Playgroud)

我需要从选择拖批文件夹,一个_clip1.trim_clip6.trim:

$ ls -d _clip[1-6].trim 
_clip1.trim  _clip2.trim  _clip3.trim  _clip4.trim  _clip5.trim  _clip6.trim
Run Code Online (Sandbox Code Playgroud)

而从其他的_clip7.trim_clip16.trim,但是当我尝试ls -d _clip[7-16].trim只列出_clip6.trim上市.

我需要了解如何在常规表达式中使用数字interbals.谢谢你的时间!

Kev*_*vin 6

[...]是一个角色类.当你说[7-16],这意味着"从7到1的字符(无)和字符6".我会说使用两个表达式:_clip[7-9].trim _clip1[0-6].trim.看起来你没有在这个范围内的所有这些,但如果你这样做,你可以使用_clip{7..16}.trim.

此外,在命令行上,它们是整体,而不是正则表达式.有一些差异 - *意味着什么都没有,不是前面任何东西的0+,与?(零或一个任何东西,不是前一个表达式)相同.