답변:
보낸 사람 man bash
:
*(pattern-list)
Matches zero or more occurrences of the given patterns
0 이상으로 시작하는 1
파일 (모든 파일) 과 일치하는 glob 표현식이 있습니다.
이 globbing 동작을 비활성화하는 간단한 방법 중 하나 \
는 괄호 를 피하는 것입니다.
rm *\(1\)*
그렇지 않으면 shopt -u extglob
동작을 비활성화하고 shopt -s extglob
다시 활성화하는 데 사용할 수 있습니다.
shopt -u extglob
rm *(1)*
shopt -s extglob
로합니다 스테판 말한다 , extglob
으로 활성화되어 bash-completion
있으므로 정상적으로 작동하지 완성 기능을 발생할 수 비활성화.
extglob
기본적으로이 아니라 설치 및 사용할 수 있음을 경우 bash_completion으로 설정되어 있습니다. bash
같은 옵션에 대한 로컬 범위가 없습니다 zsh
.
bash-4.3
회귀가 있으므로 *(1)*
숨겨진 파일도 확장됩니다.
이것은 아마도 extglob
쉘 옵션 과 관련이 있습니다. 끄면 패턴이 오류 메시지를 생성합니다.
martin@dogmeat:~$ shopt -u extglob
martin@dogmeat:~$ shopt extglob
extglob off
martin@dogmeat:~$ echo *(1)*
bash: syntax error near unexpected token `('
내가 켜면 실제로 모든 것과 일치하는 것 같습니다. 맨 페이지는 이러한 패턴을 문서화하며 관련이 있다고 생각합니다.
If the extglob shell option is enabled using the shopt builtin, several
extended pattern matching operators are recognized. In the following
description, a pattern-list is a list of one or more patterns separated
by a |. Composite patterns may be formed using one or more of the fol‐
lowing sub-patterns:
?(pattern-list)
Matches zero or one occurrence of the given patterns
*(pattern-list)
Matches zero or more occurrences of the given patterns
+(pattern-list)
Matches one or more occurrences of the given patterns
@(pattern-list)
Matches one of the given patterns
!(pattern-list)
Matches anything except one of the given patterns
선행 문자가없는 괄호가 무엇인지 지정하는 문서는 없습니다. 어쨌든 다음과 같이 괄호를 인용하여 문제를 피할 수 있습니다.
martin@dogmeat ~ % echo *\(1\)*
A(1)b
또한, 사용 echo
또는 ls
해당 작업의 절대적으로 확실하지 않은 첫 번째 경우 패턴을 테스트 :)
{
로 괄호, (
괄호 (또는 둥근 괄호)입니다.
{
= 중괄호, (
= 둥근 괄호, [
= 대괄호. 미국의 경우 : {
= 중괄호, (
= paren, [
= 대괄호 약간 혼란 스럽다. 무엇을했는지 확인해야 할 경우 Jargon File-ASCII 가 매우 유용합니다.
{
꽃 괄호, [
대괄호, (
둥근 괄호 또는 일반적으로 괄호입니다. :-)
rm
패턴과 함께 사용할 때마다echo
실제 명령을 실행하기 전에 항상 패턴 앞에옵니다 . 습관은 (차이 혼란, 6 세 정도로, 그 이후로 한 번 이상 나를 구원DEL A: *.*
과DEL *.* A:
).