
패턴을 찾아 다른 위치로 옮기는 방법을 아는 사람이 있는지 궁금합니다.
예를 들어 다음과 같은 이름의 파일이 많이 있습니다.
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