파일 이름에 하위 문자열을 추가하는 대신 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,}