특정 문자가 세 번째 문자로 포함된 폴더의 모든 파일을 나열하고 싶습니다. 각 파일에 대해 삭제나 이동 등의 작업을 수행할 수 있습니다. grep/cut 옵션을 사용하여 ls 명령을 살펴봤지만 처리할 수 있는 최종 목록을 얻는 방법을 모르겠습니다.
감사해요.
답변1
또한 찾기 명령을 사용하여 파일을 찾고 각 파일에 대해 개별적으로 작업을 수행할 수도 있습니다.
find <directory_name> -name '??t*' -exec mv {} <target_directory> \;
답변2
외부 프로그램을 호출하지 않고도 셸에서 직접 일부 패턴 일치를 수행할 수 있습니다.
다음 파일이 포함된 폴더가 있다고 가정해 보겠습니다.
$ ls
ant bat bird cat cats dog fish
다음과 같이 3자로 끝나는 파일만 일치시킬 수 있습니다 t
.
$ ls ??t
ant bat cat
다음 과 같이 모든 파일을 세 번째 문자와 일치시킬 수 있습니다 t
.
$ ls ??t*
ant bat cat cats
여기에서 추가 문서를 참조하세요. https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html