ls
명령을 사용하여 특정 파일을 찾으려고 합니다.
- "ball"이라는 단어 앞에 4개의 글자가 있습니다.
- 끝 단어 "ball"이 있어야 합니다.
사용해 봤는데 ls *ball
"ball"이라는 단어 앞에 4개 이상의 단어가 있는 것으로 나타났습니다. 4자 이상의 문자로 "ball" 앞에 오는 단어를 무시하는 특정 명령이 있습니까?
답변1
통과되면편지, 당신은 고려되는 모든 캐릭터를 의미합니다알파벳순으로해당 로케일(일반적으로 문자 집합이 지원하는 모든 알파벳을 의미)에서 다음을 사용할 수 있습니다.
ls -d -- [[:alpha:]][[:alpha:]][[:alpha:]][[:alpha:]]ball
또는 zsh
해당 extendedglob
옵션을 사용하십시오.
ls -d -- [[:alpha:]](#c4)ball
또는 다음과 같이 ksh93
:
ls -d -- {4}([[:alpha:]])ball
셸은 이러한 패턴을 확장하여 ls
제공된 인수만 나열하며 이를 ls -d --
로 대체할 수도 있습니다 printf '%s\n'
.
답변2
?
단일 문자를 일치시키는 데 사용됩니다 .
ls ????ball
일반 파일에만 관심이 있는 경우:
for i in ????ball; do [ -f "$i" ] && echo "$i"; done