在ls(bash)中匹配文件名

Sum*_*mit 11 regex bash

我有以下文件

tcpdump-12
tcpdump-12.delay
tcpdump-24
tcpdump-24.delay
Run Code Online (Sandbox Code Playgroud)

有没有办法ls只有文件

tcpdump-12
tcpdump-24
Run Code Online (Sandbox Code Playgroud)

我可以

ls tcpdump-[[:digit:]][[:digit:]]
Run Code Online (Sandbox Code Playgroud)

但我正在寻找一些更通用的东西,可以使用任意数量的数字,如tcpdump- [0-9] +,如果我使用的是vim或python正则表达式.

Ign*_*ams 19

$ ls
tcpdump-12  tcpdump-12.delay  tcpdump-24  tcpdump-24.delay
$ shopt -s extglob
$ ls tcpdump-+([[:digit:]])
tcpdump-12  tcpdump-24
Run Code Online (Sandbox Code Playgroud)

  • 这是重击.低音的重要性不应该是一个巨大的惊喜. (8认同)

And*_*ron 7

如果您确定所有不需要的文件以".delay"结尾,则可以执行以下操作:

ls --ignore '*.delay'
Run Code Online (Sandbox Code Playgroud)