Shell
如何使用 ls 搜尋具有固定名稱長度的文件?
在一個目錄中,我有類似的文件
lazer_100506 lazer_100707 lazer_091211 lazer_110103 lazer_100406_temp lazer_100622#delete
等等
如何獲得僅前四個文件的列表?
$ ls lazer_...... ls: lazer_......: No such file or directory $
有多種方法:
ls
只要ls lazer_??????
ls
和egrep
ls | egrep '^lazer_.{6}$'
find
find . -regextype posix-egrep -regex '^./lazer_.{6}$'
你可以使用
zsh
一個像這樣的 glob?(#cN)
(這裡的c
標誌需要前一個?
完全匹配N
時間):setopt extendedglob print -rl -- ?(#c12)
如果您願意
ls
:ls -d -- ?(#c12)
您還可以添加限定符,例如遞歸搜尋具有固定名稱長度的正常文件:
print -rl -- **/?(#c12)(.)