이름에 abc가 포함된 파일을 찾고 싶습니다.
예를 들어:
Dozain123.ctabcln_WbLogReq.log'
Dozain123.ctabcln_WbLogReq123.log
Dozain123.ctabcln_WbLogReq456.log
Dozain123.ctabcln_WbLogReq341.log
어떤 명령을 사용해야 합니까?
답변1
해당 파일이 있는 경우현재 디렉터리당신이 나열하고 싶은 것:
ls ./*abc*
이 파일을 반복하려면 다음을 수행하십시오.
for fname in ./*abc*; do
# do something with "$fname"
done
현재 디렉터리나 일부 하위 디렉터리에서 (재귀적으로) 해당 항목을 찾으려면 다음을 수행하세요.
find . -type f -name '*abc*' -print
(여기에서는 찾고 있는 모든 이름이 디렉터리 이름 등이 아닌 일반 파일 이름이라고 가정합니다.)
뭔가 하고 싶다면이것들이름:
find . -type f -name '*abc*' -exec sh -c '
for fname do
# do something with "$fname" here
done' sh {} +
파일 이름의 재귀적 일치를 수행하려면 일부 셸(기본적으로 in 및 in ) **
에서 사용할 수 있는 globbing 패턴을 사용합니다 .zsh
shopt -s globstar
bash
for fname in ./**/*abc*; do
# do something with "$fname"
done
셸을 사용하여 zsh
일반 파일 이름(예: 디렉터리 등이 아님)만 일치하는지 확인하세요.
for fname in ./**/*abc*(.); do
# do something with "$fname"
done
관련된:
답변2
파일에서 모든 abc 이름을 찾으려면: $ grep -R abc ./Direction
또는 abc가 포함된 파일을 찾으려면: $ ls -1 | grep abc 또는 $ ls알파벳. /방향