Skip to Content
bash Cookbook, 제 2판
book

bash Cookbook, 제 2판

by Carl Albing, JP Vossen
May 2025
Beginner to intermediate
726 pages
9h 39m
Korean
O'Reilly Media, Inc.
Book available
Content preview from bash Cookbook, 제 2판

7장. 중급 셸 도구 I

이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com

이제 레퍼토리를 확장할 차례입니다. 이 장의 레시피에서는 셸의 일부가 아니지만 매우 유용해서 셸 없이 사용하는 것을 상상하기 어려운 몇 가지 유틸리티를 사용합니다.

Unix(그리고 Linux)의 가장 중요한 철학 중 하나는 작은(즉, 범위가 제한된) 프로그램 조각을 조합하여 강력한 결과를 제공할 수 있다는 것입니다. 모든 일을 하는 하나의 프로그램이 아니라 각각 한 가지 일을 잘하는 여러 가지 프로그램이 있습니다.

이는 bash에도 적용됩니다. 점점 커지고 기능이 풍부해지긴 했지만 여전히 모든 작업을 수행하려고 하지는 않으며, bash를 확장하여 작업을 수행할 수 있더라도 다른 명령을 사용하여 작업을 수행하는 것이 더 쉬운 경우가 있습니다.

간단한 예로 ls 명령을 들 수 있습니다. 현재 디렉터리의 내용을 보기 위해 ls를 사용할 필요는 없습니다. 그냥 echo * 이라고 입력하면 파일 이름이 표시됩니다. 또는 bash printf 명령과 일부 서식 등을 사용하여 더 멋지게 만들 수도 있습니다. 하지만 이는 셸의 목적이 아니며, 이미 누군가가 파일 시스템 정보의 모든 종류의 변형을 처리하는 목록 프로그램(ls)을 제공했습니다.

더 중요한 것은 bash가 더 많은 파일 시스템 목록 기능을 제공할 것으로 기대하지 않음으로써 추가적인 기능 크립 압박을 피하고 대신 어느 정도 독립성을 부여하여, 모든 bash 버전을 업그레이드하지 않고도 새로운 기능을 출시할 수 있다는 점입니다.

철학은 이제 그만하고 실용적인 이야기로 돌아가겠습니다.

여기에는 가장 유용한 세 가지 텍스트 관련 유틸리티인 grep, sed, awk가 있습니다.

grep 프로그램은 문자열을 검색하고, sed 프로그램은 파이프라인을 통과하는 텍스트를 편집하는 방법을 제공하며, awk는 그 자체로 흥미로운 괴물이자 Perl의 선구자이자 카멜레온 같은 존재로 사용 방법에 따라 상당히 다르게 보일 수 있습니다.

이러한 유틸리티와 다음 장에서 설명할 몇 가지 유틸리티는 대부분의 셸 스크립트에서 매우 중요한 부분을 차지하며 대부분의 세션에서 명령을 입력하는 데 사용됩니다. 셸 스크립트에서 작업할 파일 목록이 필요한 경우 find 또는 grep을 사용하여 파일 목록을 제공하고, 셸 스크립트의 일부 단계에서 입력을 구문 분석하거나 출력 형식을 지정하는 데 sed 및/또는 awk를 사용할 가능성이 높습니다.

다시 말해, 스크립팅 예제가 실제 문제를 해결하려면 실제 bash 사용자와 프로그래머가 실제로 사용하는 더 광범위한 도구를 사용해야 한다는 뜻입니다.

7.1 파일에서 문자열 검색하기

문제

하나 이상의 파일에서 모든 문자열을 찾아야 합니다.

솔루션

grep 명령은 파일을 검색하여 사용자가 입력한 표현식을 찾습니다:

$ grep printf *.c both.c: printf("Std Out message.\n", argv[0], ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Raspberry Pi Hacks

Raspberry Pi Hacks

Ruth Suehle, Tom Callaway

Publisher Resources

ISBN: 9798341659766Supplemental Content