이것은 비교적 사소한 것이지만 나는 많은 시간을 할애하지 않고 노력해 왔습니다. 많은 디렉토리가있는 각각의 구조와 파일을 가진 디렉토리가 있습니다.파일 찾기, 장소 이름 바꾸기 unix bash
작업 디렉토리 아래의 모든 디렉토리에서 모든 .java 파일을 찾고 특정 이름으로 바꿉니다. 예를 들어, 모든 Java 파일 "test.java"의 이름을 지정하고 싶습니다. 디렉토리 구조 인 경우
: 나는 단순히 이름을 바꿀
./files/abc/src/abc.java
./files/eee/src/foo.java
./files/roo/src/jam.java
: 물론
./files/abc/src/test.java
./files/eee/src/test.java
./files/roo/src/test.java
, 내 문제의 부분은 경로에 공백이있을 수 있다는 것입니다 I 돈. 클래스 나 파일 내부의 이름을 바꾸는 것에 대해 걱정할 필요가 없습니다. 파일 이름은 그대로 유지됩니다.
디렉토리에 .java 파일이 두 개 이상있는 경우 덮어 쓰거나 수행 할 작업을 선택하라는 메시지가 표시되면 괜찮습니다 (둘 중 하나만 선택하면됩니다. 각 디렉토리에
내가 시도하는 것 :.
MV로 찾고 찾아,하지만 때 함께 I 파이프 그들을 내가 잘못 일을 할 것, 내가 그들의 현재 위치에 보관해야합니다 싶어 이름 바꾸기 및 이동 안 함
감사합니다. 정말로 도움을 주셔서 감사합니다.
"$ {1 %/*}"/ test.java' 비트는 어떻게 읽어야합니까? – dumbledad
변수'$ 1','%'은 가장 일치하는 접미사'/ *'를 제거합니다 -'dirname "$ 1"'처럼'$ 1'에서 파일 이름을 제거합니다. '/ test.java'가 그 디렉토리 이름에 추가됩니다. –