이름 바꾸기를 사용하여 파일 및 디렉토리 이름 바꾸기

Bobbake4

Linux 이름 바꾸기 명령 줄 도구를 사용하여 디렉토리를 통해 재귀 적으로 검색하여 찾은 파일과 디렉토리의 이름을 변경합니다. 내가 겪고있는 문제는 rename 명령이 파일의 하위 디렉토리 이름을 바꾸고 동일한 파일의 상위 디렉토리 이름을 바꾸려고 시도한다는 것입니다. 하위 디렉토리의 이름이 변경되어 "해당 파일 또는 디렉토리 없음"이 표시되므로 실패합니다.

명령:

rename -f 's/foo/bar/' **
rename -f 's/Foo/Bar/' **

예를 들어, 다음은 'foo'를 'bar'로 바꾸고 싶은 원본 파일입니다.

파일:

/test/foo/com/test/foo/FooMain.java

실패:

Can't rename /test/foo/com/test/foo/FooMain.java /test/bar/com/test/foo/FooMain.java: No such file or directory

선호하는 파일 :

/test/bar/com/test/bar/BarMain.java

오류 메시지에서 상위 디렉토리의 이름을 바꾸려고 시도하고 있지만 그 시점에서 하위 디렉토리가 이미 변경되어 파일을 찾을 수 없음 오류가 발생한다는 것을 알 수 있습니다. 이 문제를 수정하는 rename 명령에 대한 매개 변수가 있습니까? 아니면 다른 방식으로 진행해야합니까?

스틸 드라이버

나는 이것에 대해 다른 방식으로 진행할 것입니다. 특히 쉘 globstar 대신 깊이 우선 검색을 사용하여 **

예를 들어 GNU를 사용 find하면 다음과 같습니다.

$ tree
.
└── dir
    ├── foo
    │   └── baz
    │       └── MainFoo.c
    └── Foo
        ├── baz
        └── MainFoo.c

5 directories, 2 files

그때

find . -depth -iname '*foo*' -execdir rename -- 's/Foo/Bar/;s/foo/bar/' {} +

결과

$ tree
.
└── dir
    ├── bar
    │   └── baz
    │       └── MainBar.c
    └── Bar
        ├── baz
        └── MainBar.c

5 directories, 2 files

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

대체 및 변수를 사용하여 파일 및 디렉토리 이름 바꾸기

분류에서Dev

찾기 및 sed 대체를 사용하여 디렉토리 이름 바꾸기

분류에서Dev

NSLibraryDirectory의 모든 파일 및 디렉토리 이름 바꾸기

분류에서Dev

파일 및 디렉토리 이름 바꾸기

분류에서Dev

RE 및 OS를 사용하여 여러 비디오 파일 이름 바꾸기

분류에서Dev

PHP 하위 디렉토리를 새 파일 이름으로 사용하여 모든 파일 이름 바꾸기

분류에서Dev

bash-하위 디렉토리 내의 fasta 헤더 및 파일 이름 이름 바꾸기-접두사 추가

분류에서Dev

하위 디렉토리의 모든 파일 이름 바꾸기

분류에서Dev

여러 디렉토리 복사 및 이름 바꾸기

분류에서Dev

Makefile 및 gcc를 사용하여 .o 파일 이름 바꾸기

분류에서Dev

Windows 8/10에서 파일 이름 바꾸기를 사용하여 파일 및 디렉토리를 자동 배치하는 최고의 언어 / 시스템?

분류에서Dev

파일 복사 및 이름 바꾸기

분류에서Dev

디렉토리 이름에 따라 파일 이름 바꾸기

분류에서Dev

프랑스어 문자로 파일 및 디렉토리 이름 바꾸기

분류에서Dev

`mv`를 사용하여 중첩 된 디렉토리의 파일 이름 바꾸기

분류에서Dev

이름 바꾸기를 사용하여 파일 이름 바꾸기

분류에서Dev

여러 디렉토리의 모든 png 파일 이름 바꾸기

분류에서Dev

다른 디렉토리에있는 여러 파일 이름 바꾸기

분류에서Dev

디렉토리에서 한 번에 여러 파일 이름 바꾸기

분류에서Dev

Python을 사용하여 디렉터리의 모든 파일 이름 바꾸기

분류에서Dev

다른 하위 디렉토리 내의 모든 파일 이름 바꾸기

분류에서Dev

Ruby를 사용하여 모든 하위 디렉토리 이름 바꾸기

분류에서Dev

python 또는 R을 사용하여 디렉토리의 파일 이름 바꾸기

분류에서Dev

sed 명령을 사용하여 텍스트 파일을 디렉토리 이름으로 바꾸기

분류에서Dev

특수 문자 파일 및 디렉토리 이름 바꾸기를위한 스크립트

분류에서Dev

파일 찾기 및 이름 바꾸기

분류에서Dev

디렉토리 이름을 기반으로 파일 이름 바꾸기

분류에서Dev

순서를 관리하는 여러 파일 이름 바꾸기

분류에서Dev

찾기 / 이름 바꾸기를 사용하여 여러 파일 이름의 이름을 바꾸는 방법

Related 관련 기사

  1. 1

    대체 및 변수를 사용하여 파일 및 디렉토리 이름 바꾸기

  2. 2

    찾기 및 sed 대체를 사용하여 디렉토리 이름 바꾸기

  3. 3

    NSLibraryDirectory의 모든 파일 및 디렉토리 이름 바꾸기

  4. 4

    파일 및 디렉토리 이름 바꾸기

  5. 5

    RE 및 OS를 사용하여 여러 비디오 파일 이름 바꾸기

  6. 6

    PHP 하위 디렉토리를 새 파일 이름으로 사용하여 모든 파일 이름 바꾸기

  7. 7

    bash-하위 디렉토리 내의 fasta 헤더 및 파일 이름 이름 바꾸기-접두사 추가

  8. 8

    하위 디렉토리의 모든 파일 이름 바꾸기

  9. 9

    여러 디렉토리 복사 및 이름 바꾸기

  10. 10

    Makefile 및 gcc를 사용하여 .o 파일 이름 바꾸기

  11. 11

    Windows 8/10에서 파일 이름 바꾸기를 사용하여 파일 및 디렉토리를 자동 배치하는 최고의 언어 / 시스템?

  12. 12

    파일 복사 및 이름 바꾸기

  13. 13

    디렉토리 이름에 따라 파일 이름 바꾸기

  14. 14

    프랑스어 문자로 파일 및 디렉토리 이름 바꾸기

  15. 15

    `mv`를 사용하여 중첩 된 디렉토리의 파일 이름 바꾸기

  16. 16

    이름 바꾸기를 사용하여 파일 이름 바꾸기

  17. 17

    여러 디렉토리의 모든 png 파일 이름 바꾸기

  18. 18

    다른 디렉토리에있는 여러 파일 이름 바꾸기

  19. 19

    디렉토리에서 한 번에 여러 파일 이름 바꾸기

  20. 20

    Python을 사용하여 디렉터리의 모든 파일 이름 바꾸기

  21. 21

    다른 하위 디렉토리 내의 모든 파일 이름 바꾸기

  22. 22

    Ruby를 사용하여 모든 하위 디렉토리 이름 바꾸기

  23. 23

    python 또는 R을 사용하여 디렉토리의 파일 이름 바꾸기

  24. 24

    sed 명령을 사용하여 텍스트 파일을 디렉토리 이름으로 바꾸기

  25. 25

    특수 문자 파일 및 디렉토리 이름 바꾸기를위한 스크립트

  26. 26

    파일 찾기 및 이름 바꾸기

  27. 27

    디렉토리 이름을 기반으로 파일 이름 바꾸기

  28. 28

    순서를 관리하는 여러 파일 이름 바꾸기

  29. 29

    찾기 / 이름 바꾸기를 사용하여 여러 파일 이름의 이름을 바꾸는 방법

뜨겁다태그

보관