Linux
如何顯示包含兩個字元且其中一個字元為 c 的文件名?
我試過做
ls [a-z][a-z]
,但它似乎沒有工作。
使用 bash,設置 glob 設置,以便失去的匹配項不會觸發錯誤:
shopt -u failglob # avoid failure report (and discarding the whole line). shopt -s nullglob # remove (erase) non-matching globs. ls ?c c?
問號是代表單個字元的全域字元。由於您想要兩個字元的文件名,因此其中一個必須是 a
c
,因此它是第一個字元或最後一個字元。
shopt -s dotglob
這樣還會顯示一個.c
名為.如果沒有匹配的文件,設置這些 shell 選項會導致所有參數被刪除,從而導致一個空的
ls
– 預設列出任何/所有內容。改用這個:
shopt -s nullglob ## drop any missing globs set -- ?c c? ## populate the $@ array with (any) matches if [ $# -gt 0 ] ## if there are some, list them ls -d "$@" fi