![Bash 중괄호 확장으로 파일 이름의 일부가 제거됩니다.](https://linux55.com/image/111384/Bash%20%EC%A4%91%EA%B4%84%ED%98%B8%20%ED%99%95%EC%9E%A5%EC%9C%BC%EB%A1%9C%20%ED%8C%8C%EC%9D%BC%20%EC%9D%B4%EB%A6%84%EC%9D%98%20%EC%9D%BC%EB%B6%80%EA%B0%80%20%EC%A0%9C%EA%B1%B0%EB%90%A9%EB%8B%88%EB%8B%A4..png)
파일 이름에 하위 문자열을 추가하는 대신 bash 중괄호 확장을 사용하여 제거할 수 있습니까?
다음 기술을 사용하여 파일 이름에 접미사를 추가할 수 있는 다음 시나리오를 고려하십시오.
mv offlineimap.conf{,.minimal}
특히 이름을 바꾸는 것이 offlineimap.conf
매우 offlineimap.conf.minimal
편리합니다. 백업 파일을 만드는 데 사용됩니다(예: swith .bak
확장명).
그러나 다음과 같이 주어진 파일 이름에서 하위 문자열을 뺄 수도 있습니다.
mv offlineimap.conf.minimal{,-minimal}
-
여기서는 하위 문자열을 빼기 위해 가상의 특수 문자를 사용하고 있습니다 .
나는 기존 파일 이름에서 접미사를 제거하는 두 번째 기술을 원합니다 offlineimap.conf
..minimal
답변1
중괄호 명령을 사용하여 접미사를 제거하려면(예: .minimal
파일에서 접미사 제거) 다음을 offlineimap.conf.minimal
사용합니다.
mv offlineimap.conf{.minimal,}
지원 연장에 대해 자세히 알아보기
여기서 아이디어는 중괄호 확장이 중괄호 사이에 쉼표로 구분된 문자열 목록을 사용하여 일련의 문자열을 생성한다는 것입니다.
$ echo a{b,c}
ab ac
처음 사용할 때 두 문자열 중 첫 번째 문자열은 비어 있습니다.
$ echo a{,c}
a ac
원하는 솔루션에서는 두 문자열 중 두 번째 문자열이 비어 있도록 전환합니다.
$ echo a{b,}
ab a
또는:
$ echo offlineimap.conf{.minimal,}
offlineimap.conf.minimal offlineimap.conf
답변2
John1024의 답변 외에도 (댓글을 달 수 없습니다).
이 방법을 시도하고 지름길을 찾았습니다.
자동 완성 기능 사용 - Tab 키를 눌러 잘라야 할 전체 파일 이름을 입력하세요.
offlinei(tab key pressing) -> get full name -> offlineimap.conf.minimal
Enter를 누른
,}
다음 한 단어 뒤로 이동한 다음(Alt + b
Bash에서){
,
우리는 우리에게 필요한 공사를 받고 있습니다. offlineimap.conf.{minimal,}