여러 파일의 이름을 접미사로 바꿉니다.

여러 파일의 이름을 접미사로 바꿉니다.

공백이 포함된 여러 파일의 이름을 바꾸는 방법이 필요합니다. 나는 가지고있다:

>ls
Garbage Foo1.txt
Garbage Foo2.txt
Garbage Foo3.txt
Garbage Foo4.txt
...

다음을 수행해야 합니다.

Foo1.txt
Foo2.txt
Foo3.txt
Foo4.txt
...

이 작업을 수행하는 방법에 대한 아이디어가 있습니까?

답변1

Perl 이름 바꾸기:

rename -n 's/.*\s+//' *.txt

-n스위치를 제거하면 실제로 그렇게 할 수 있습니다. ( -n== 시험 실행)

답변2

rename이는 util-linux 제품군의 유틸리티가 작업을 수행하는 몇 안 되는 경우 중 하나입니다. 대부분의 배포판은 renameDebian, Ubuntu 및 그 파생물에서 rename이 유틸리티를 제공합니다.더욱 다양하고 강력한 유틸리티util-linux 유틸리티는 이라고 합니다 rename.ul.

rename 'Garbage ' '' *.txt

완전히 이식 가능한 솔루션은 다음과 같습니다.

for x in *.txt; do
  mv -- "$x" "${x#'Garbage '}"
done

답변3

그냥 bash를 사용하세요:

for file in ./*.txt; do mv -- "$file" "${file/Garbage /}"; done

관련 정보