터미널 찾기, 삭제로 이름 바꾸기


1

Mac은 같은 디렉토리 안에있는 다른 파일 / 폴더의 사본 인 파일 / 폴더의 끝에 '2'(공백 참고)를 추가합니다 ... 누가이 일괄 제거 / 이름 바꾸기 방법을 알고 있는지 궁금합니다. 터미널의 폴더 디렉토리에서 2 '.


파일 이름을 어떻게 바꾸시겠습니까? 후행 "2"또는 다른 것을 제거 하시겠습니까?
nohillside

예, 디렉토리 내부의 디렉토리에서 후행 "2"를 제거하고 싶습니다. 예 : Music / Tom Petty 2 / ... (이름이 바뀐 디렉토리의 파일 또는 파일이 아님)
Ken McLeod

답변:


3

find이런 식으로 파일을 찾는 데 사용하십시오 .

find . -name "* 2" -exec rm -r "{}" \;

이 명령은 .이름 이있는 파일 및 폴더를 검색 "* 2"하고 모든 결과를 삭제합니다 -exec rm {}.

디렉토리 이름을 바꾸려면 다음을 수행하십시오.

find . -name "* 2" -type d -exec rename 's/ 2/-copy/g' {} \;

다른 명령으로, 이름 만 폴더를 찾아 "*.2"그것을 대체 이름을 변경 2하여 -copy.

rename설치 하지 않은 경우 다음 을 사용할 수도 있습니다

find . -name "* 2" -type d -exec bash -c '[[ -x "${0/ 2/-copy}" ]] || mv "$0" "${0/ 2/-copy}"' {} \;

(이 [[ -x부분은 파일 / 폴더가 이미 존재하는지 테스트합니다).


그러나 파일이 아닌 디렉토리의 이름을 바꾸려면 (삭제하지 않음) 어떻게해야합니까?
Ken McLeod

답변을 업데이트합니다. 파일과 폴더를 모두 삭제합니다.
jherran

OP는 파일 / 폴더의 이름바꾸고 싶을 뿐 아니라 파일 / 폴더를 삭제하려고합니다.
nohillside

@patrix는 "배치 제거 / 이름 바꾸기 방법"을주의해서 읽으십시오. 이것은 보통 서로를 의미합니까?
jherran

답변에 대한 Ken의 첫 번째 의견 참조 :-)
nohillside

0

글쎄, 다른 누군가 가이 같은 질문을 내놓을 경우를 대비하여 ... 간단한 해결책을 찾았습니다 .... Homebrew가 있다면

brew install rename

...

rename -s " 2" '' *

음악 / 톰 페티 2를 음악 / 톰 페티로 바꿉니다. 마찬가지로 '2'와 비슷한 끝으로 디렉토리 이름에 무언가를 추가하고 싶다면 ...

rename -s " 2" '-blob' *

... Music/Tom Petty 2/

된다

Music/Tom Petty-blob/
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.