[리눅스 공부 6] Shell 명령어 수행 시 중괄호 확장 "{}"

Posted by [하늘이]
2015. 6. 28. 16:47 IT/Linux
반응형


무작위 문자열을 집합으로 묶어서 쉘을 확장 시킬 수 있다.

즉 특정 문자열을 갖은 것들을 모우거나 제외 시킬 수 있는 명령을 수행 할 수 있다는 뜻이다.


보통 ls 명령으로 사용하여 모든 파일을 본다.


[현재 폴더에 있는 내용]

$ ls

asdf.txt  qwer.txt  test1.txt       ===> [현재 폴더에 있는 내용]


여기에서 특정 문자가 있는 파일만 보고 싶은 경우 아래와 같이 호출 한다.

1. 3개 패턴

$ ls {as,qw,te}*.txt

asdf.txt  qwer.txt  test1.txt


2. 2개 패턴

$ ls {as,te}*.txt

asdf.txt  test1.txt


3. 1개 패턴 : 테스트를 해보니 한개 패턴은 에러가 발생한다.

$ ls {as}*.txt

ls: cannot access {as}*.txt: No such file or directory

이렇게 사용하면 에러가 안나온다.

$ ls as*.txt

즉 한개인 경우는 사용하면 안되게 되어 있는 것 같다.


4. 잘못된 패턴을 찾으려는 경우

$ ls {as,te1}*.txt

ls: cannot access te1*.txt: No such file or directory

asdf.txt

패턴이 없는 놈은 위와 같이 에러가 나온다.

패턴으로 제외를 시키고 싶은 경우이다. 위와 같은 명령어인 ls 에서 option -I를 사용한다.

$ ls

asdf.txt  qwer.txt  test1.txt


$ ls -I {ad,te}*.txt       => 제외된 결과가 나왔다.

test1.txt




반응형