Alt + Shift + {란 무엇입니까?


10

많은 파일이있는 디렉토리에있는 경우 CentOS 및 Ubuntu에서 이것을 테스트했습니다.

$ ls
day1.tar.gz  day2.tar.gz  day3.tar.gz  day4.tar.gz  day5.tar.gz  day6.tar.gz  day7.tar.gz  day8.tar.gz day9.tar.gz day10.tar.gz

그리고 당신은 Alt+Shift+{그것이 모든 파일 이름을 awk-complete 할 것입니다.

<Alt+Shift+{>

완료 :

 day{1{0.tar.gz,.tar.gz},2.tar.gz,3.tar.gz,4.tar.gz,5.tar.gz,6.tar.gz,7.tar.gz,8.tar.gz,9.tar.gz}

day1<Alt+Shift+{>

완료 :

day1{0.tar.gz,.tar.gz}

질문 : 이것은 무엇입니까? 이것이 무엇입니까? 어디에 유용합니까? 어떻게 구성 할 수 있습니까? 하위 문자열로 끝나지 않는 파일에 대해이 작업을 수행 할 수 있습니까?

답변:


9

Bash에서는 readline 기능을 수행합니다 complete-into-braces.

중괄호 확장은 여러 파일에 대한 참조를 줄여주는 유용한 방법입니다.

예를 들면 다음과 같습니다.

ls -l /path/to/dir/*.{c,h}

".c"또는 ".h"로 끝나는 모든 파일을 나열합니다.

보낸 사람 man bash:

완전 괄호 (M- {)
파일 이름 완성을 수행하고 중괄호로 묶은 가능한 완성 목록을 삽입하여 셸에서 목록을 사용할 수 있도록합니다 (위의 괄호 확장 참조).

브레이스 확장
브레이스 확장은 임의의 문자열을 생성 할 수있는 메커니즘입니다. 이 메커니즘은 경로 이름 확장과 유사하지만 생성 된 파일 이름이 필요하지 않습니다. 괄호 확장 패턴은 선택적 프리앰블의 형태를 취한 후 일련의 쉼표로 구분 된 문자열 또는 한 쌍의 괄호 사이의 시퀀스 표현식, 선택적 포스트 스크립트를 따릅니다. 프리앰블은 중괄호 안에 포함 된 각 문자열에 접두사가 붙은 다음 포스트 스크립트가 각 결과 문자열에 추가되어 왼쪽에서 오른쪽으로 확장됩니다.

중괄호 확장은 중첩 될 수 있습니다. 확장 된 각 문자열의 결과는 정렬되지 않습니다. 왼쪽에서 오른쪽 순서가 유지됩니다. 예를 들어, a {d, c, b} e는 'ade ace abe'로 확장됩니다.

정의에 따라 완성이 완료 되므로 문자열로 시작 하는 파일과 함께 작동 합니다.


놀랍습니다 .. 역 괄호 확장입니다! ... 좋은 것;) ...
Peter.O
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.