Regex 如何选择文件1-88

Regex 如何选择文件1-88,regex,bash,sed,Regex,Bash,Sed,我在名为OIS001_OD_EYE_MIC.png-OIS176_OD_EYE_MIC.png的目录中有一个文件 正如这个正则表达式所示,提取数字1-99很容易。 我要1-88把目录一分为二 为什么??因此,我可以有两组偶数的文件进行压缩 ls | sed -n '/^[A-Z]*0[0-9][0-9].*EYE_MIC.png/p' 这是我试图得到0-99的结果。你能帮我得到1-88或者89-176吗?对于正则表达式,你必须考虑某些数字范围的字符串的外观,你不能直接匹配特定的数字范围。1-

我在名为OIS001_OD_EYE_MIC.png-OIS176_OD_EYE_MIC.png的目录中有一个文件

正如这个正则表达式所示,提取数字1-99很容易。 我要1-88把目录一分为二

为什么??因此,我可以有两组偶数的文件进行压缩

ls | sed  -n '/^[A-Z]*0[0-9][0-9].*EYE_MIC.png/p'

这是我试图得到0-99的结果。你能帮我得到1-88或者89-176吗?

对于正则表达式,你必须考虑某些数字范围的字符串的外观,你不能直接匹配特定的数字范围。1-88:

/^[A-Z]*(00[1-9]|0[1-7][0-9]|08[0-8]).*EYE_MIC.png/
对于88-176:

/^[A-Z]*(089|09[0-9]|1[0-6][0-9]|17[0-6]).*EYE_MIC.png/

使用新的bash:

ls OIS0{01..88}_OD_EYE_MIC.png
您可以使用如下范围:{start..end}:

echo OIS00{0..88}_OD_EYE_MIC.png
将扩展到

OIS000_OD_EYE_MIC.png OIS001_OD_EYE_MIC.png [...] OIS0087_OD_EYE_MIC.png OIS0088_OD_EYE_MIC.png

在bash的手册页中查找以下内容

这里有一个管道并行替代方案:

ls -v | columns --by-columns -c2 | tr -s ' '   \
| tee >(cut -d' ' -f1 | tar cf part1.tar -T -) \
      >(cut -d' ' -f2 | tar cf part2.tar -T -) > /dev/null
如果文件名中有空格,则此方法需要更多的工作

其思想是列化文件列表,并使用tee将其多路复用到单独的压缩过程中


columns程序附带autogen包,至少在Debian中是这样。

应该更容易选择间隔,而不是regexReally?你有这样做的链接吗?sed是一个大项目。我需要从我的目录中提取某些文件来发送。我不介意是否还有其他用途谢谢。我是一个使用regex的新手,我知道它很强大,但不理解它的局限性我让我的文件没有空格,但我很欣赏这个例子。非常感谢。