패턴을 찾아 다른 위치로 옮기는 방법을 아는 사람이 있는지 궁금합니다.
예를 들어 다음과 같은 이름의 파일이 많이 있습니다.
odbc.ini_20110630
odbc.ini_20110639
odbc.ini_20110643
etc...
odbc.ini
패턴만 검색 하여 모두 다른 폴더로 이동하고 싶습니다 .
나는 두 개의 명령을 동시에 실행하는 방법(파이프라인)에 익숙하지 않습니다.
답변1
당신은 그것을 사용할 수 있습니다
find . -name "odbc.ini*" -exec mv {} destination \;
이는 파일이 현재 디렉토리에서 시작하는 디렉토리 계층 구조에 있다고 가정합니다 .
.
답변2
파일이 모두 단일 디렉터리에 있고 재귀가 필요하지 않은 경우:
shopt -s nullglob
mv odbc.ini* /new/directory/
재귀가 필요한 경우:
find "${dir:-.}" -type f -name 'odbc.ini*' -exec mv {} /new/directory \;
다른 방법도 있을 수 있지만 extglob
독자를 위한 연습으로 남겨두겠습니다 =]
답변3
모든 파일이 동일한 디렉토리에 있는 경우:
mv /path/to/source/odbc.ini* /path/to/destination
하위 디렉터리의 파일도 이동하려면 다음을 수행하세요.
shopt -s globstar # put this line in your ~/.bashrc
mv /path/to/source/**/obdc.ini* /path/to/destination