[Shell] 중괄호 확장 (Curly Braces Extension)

 중괄호 확장은 쉘 스크립트에서 문자열 목록을 생성하는 유용한 기술입니다.


예를 들어, 아래와 같이 입력하면 1부터 10 까지 스페이스로 구분된 출력이 나옵니다.

$ echo {1..10}
1 2 3 4 5 6 7 8 9 10


이를 이용하면 쉽게 파일을 만들거나 디렉토리를 만들 수 있습니다.

$ touch {a..z}.txt
$ ls
a.txt  c.txt  e.txt  g.txt  i.txt  k.txt  m.txt  o.txt  q.txt  s.txt  u.txt  w.txt  y.txt
b.txt  d.txt  f.txt  h.txt  j.txt  l.txt  n.txt  p.txt  r.txt  t.txt  v.txt  x.txt  z.txt


좀 더 응용 하면 백업파일을 만드는 데에도 수월 합니다.

$ ls | grep -e "[a-z]\.txt" | xargs -I{} cp {}{,.bak}
$ ls
a.txt      c.txt.bak  f.txt      h.txt.bak  k.txt      m.txt.bak  p.txt      r.txt.bak  u.txt      w.txt.bak  z.txt
a.txt.bak  d.txt      f.txt.bak  i.txt      k.txt.bak  n.txt      p.txt.bak  s.txt      u.txt.bak  x.txt      z.txt.bak
b.txt      d.txt.bak  g.txt      i.txt.bak  l.txt      n.txt.bak  q.txt      s.txt.bak  v.txt      x.txt.bak
b.txt.bak  e.txt      g.txt.bak  j.txt      l.txt.bak  o.txt      q.txt.bak  t.txt      v.txt.bak  y.txt
c.txt      e.txt.bak  h.txt      j.txt.bak  m.txt      o.txt.bak  r.txt      t.txt.bak  w.txt      y.txt.bak


이 블로그의 인기 게시물

Crusader Kings 3 - Converting DNA code using Portrait Editor