Sed :이 고전적인 텍스트 처리 도구를 배우십시오

폭로: 귀하의 지원은 사이트 운영을 유지하는 데 도움이됩니다! 이 페이지에서 권장하는 일부 서비스에 대한 추천 수수료가 발생합니다.


Sed는 텍스트 편집에 사용되는 유틸리티 프로그램 및 간단한 스크립팅 언어입니다. 이 이름은 “스트림 편집기”의 약자이며, 실제로는 입력 스트림 (일반적으로 파일의 개별 라인 또는 stdin의 단일 스트림 (표준 입력))을 편집하는 것이 목적입니다..

언어는 현저하게 강력하지 않습니다. sed는 Turing complete이지만 실제 프로그래밍 작업에는 전혀 효율적이지 않습니다. 예를 들어 두 가지 변수 만 사용할 수 있습니다. 그러나 명령 줄 또는 셸 스크립트에서 파일의 텍스트 패턴을 프로그래밍 방식으로 찾고 편집하는 데 매우 유용합니다..

가장 중요한 sed 명령은 s이며 대체 명령입니다. 이 명령에는 두 개의 인수와 옵션 플래그가 있습니다. 예를 들어 영국 철자 “colour”의 모든 인스턴스를 미국 “color”로 수정하고 수정 된 버전을 새 파일에 쓰려면 명령 줄에서 다음을 수행 할 수 있습니다.

sed s / colour / color / g 새로운 파일

빠른 설명 :

  • s /는 대체 명령을 시작합니다.
  • 첫 번째 슬래시 쌍 사이에있는 것은 일치하는 패턴입니다. 이 경우 “컬러”라는 단어이지만 특정 문자열이 아닌 패턴 인 정규식 일 수도 있습니다..
  • 일치시킬 패턴 뒤에 대체 문자열이 있습니다..
  • g는 “전세계”또는 “처음이 아니라 매번 이것을한다”를 의미합니다.

일치시킬 패턴과 대체는 모두 가변적 일 수 있습니다. 일치하는 패턴이 정규식이고 교체하려는 것이 아니라 수정하려는 경우 앰퍼샌드 ( & 일치하는 패턴을 나타냅니다. 예를 들어 모든 일반 텍스트 URL을 HTML 하이퍼 링크로 바꾸려고한다고 가정합니다. 당신은 이것을 할 수 있습니다 :

sed ‘s_http [:] // [^] * _&_ ‘

  • 슬래시 대신 밑줄 구분 기호를 사용하여 URL에 이미 존재하는 모든 슬래시를 쉽게 읽을 수 있습니다..
  • 일치하는 패턴은 올바른 형식의 URL과 일치하는 정규식입니다 (제한된 방식 임)..
  • 대체는 href 속성 및 태그의 텍스트에서 일치하는 패턴 (URL)으로 앵커 태그를 작성합니다..

이러한 종류의 찾기 및 바꾸기는 sed가 발명 된 최초의 이유였으며, 가장 일반적인 사용법입니다..

Sed 온라인 리소스 및 자습서

  • Sed — Unix Wizard의 Grymoire에있는 소개 및 자습서는 sed에 대한 훌륭한 소개와 참조를 제공합니다.
  • Sed Tutorial은 sed가 수행하는 비하인드 스토리 중 일부를 설명하는 괜찮은 소개입니다.
  • Tutorials Point의 Sed Tutorial은 가장 중요한 sed 개념에 대한 매우 명확하고 체계적인 연습입니다.
  • Sed 사용은 Digital Ocean의 훌륭한 두 부분으로 구성된 자습서입니다.
  • YouTuber Kris Occhipinti는 18 부로 구성된 Sed Video Tutorial을 보유하고 있습니다.
  • Linux의 Sed-TutorialHowTos는 sed에 관한 작지만 도움이되는 튜토리얼입니다.
  • Sed Subreddit은 그다지 활발하지 않지만 많은 sed (및 관련) 질문이 정규식 및 명령 줄 하위 구성에 표시됩니다.

Sed에 관한 책

  • 세드 & Dougherty와 Robbins의 Awk (1997)는 가장 중요한 두 가지 명령 줄 텍스트 도구의 기본 텍스트입니다. sed에서 한 가지만 읽을 수 있다면 이것은 아마도 읽을 수있는 것입니다. 편리한 동반자 Aed도 확인하십시오 & Awk 포켓 레퍼런스;
  • Sed에 대한 결정적인 안내서 : Tutorial and Reference (2013) Daniel A Goldman은 GNU sed (gsed)에 특히 중점을 둔 sed 사용에 대한 훨씬 현대적인 관점을 제공합니다.
  • Steve Myers의 Ksh, Awk 및 Sed Script Collection : 실용적인 예제를 통한 마스터 링 유닉스 프로그래밍 ()은 유용한 쉘 스크립트의 요리 책입니다..

Sed vs Awk 및 기타 옵션

sed 도구는 명령 줄이나 셸 스크립트에서 텍스트를 검색하고 조작하기위한 많은 옵션 중 하나 일뿐입니다. 가장 자주 비교되는 도구는 Awk이지만 grep도 있습니다. 또한 Perl 또는 Python과 같은보다 강력한 스크립팅 언어를 사용할 수 있습니다.

다음은 텍스트 검색 및 적절한 편집 요구에 가장 적합한 도구를 결정하는 데 도움이되는 몇 가지 리소스입니다.

  • Grep vs Sed vs Awk : 숙달 된 / 고급 Linux 셸 사용자가 알아야 할 사항 세 가지 주요 텍스트 처리 도구를 설명하는 기사는 어떤 도구를 언제 사용해야하는지에 대한 자세한 정보를 제공합니다.
  • Sed / Awk Over Perl 또는 Python을 사용하는시기 전체 스크립트 언어를 사용하는시기와 간단한 텍스트 처리 도구를 사용하는시기에 대한 대화가 많은 포럼 게시물입니다.
  • Sed, Awk 및 기타 Unix 구문 분석 유틸리티의 기능 및 성능 차이는 속도에 대한 메모를 포함하여 자세한 기술적 비교를 제공합니다.
  • Sed와 Awk의 차이점은 무엇입니까? StackExchange에서 “주제를 벗어난”것으로 간주되었지만 다행히도 소수의 사용자가 유용한 답변을 제공했습니다. 위의 더 자세한 설명을 할 시간이 없다면이 페이지는 최고의 30 초 개요를 제공합니다..

관련 주제에 관한 책과 자료

sed를 효과적으로 사용하려면 정규식과 셸 스크립팅이라는 두 가지 관련 영역의 기술이 필요합니다. sed 능력을 반올림하는 데 도움이되는 서적과 온라인 자습서는 다음과 같습니다..

이러한 자료 외에도 Awk 및 Bash의 페이지를 확인하십시오..

서적

  • Michael Fitzgerald의 Regular Expressions (2012) 소개는 잠재적으로 위협적인 주제를 이해하기 쉽게 만드는 매우 유용한 소개 텍스트입니다. 또한 sed 스크립팅과 Perl에서 정규식 사용에 대한 정보도 포함합니다.
  • Jeffrey Friedl의 Mastering Regular Expressions (2006)는 위의 소개 텍스트 다음에 나오는 다음 수준의 정규식 리소스입니다.
  • Robbins and Beebe의 Classic Shell Scripting (2005)은 sed를 포함하여 가장 중요한 Unix 명령 행 및 스크립팅 도구를 다루는 책입니다. 저자 중 한 명인 Arnold Robbins는 고전적인 Sed의 공동 저자이기도합니다. & 위의 awk 책.

온라인 자료

이 주제에 관한 많은 온라인 자료가 있습니다. 가장 유용한 몇 가지 기능은 다음과 같습니다.

  • RegExr은 정규식을 배우고 작성하고 테스트하는 온라인 도구입니다.
  • RegEx101은 내장 된 치트 시트와 유용한 구문 분석 피드백이있는 또 다른 온라인 정규식 테스터입니다.
  • 정규식 치트 시트는 당신이 찾고있는 겉으로 보이는 임의의 문자열을 알아야 할 때 당신이 찾고있는 겉으로 보이는 임의의 문자열을 알아야 할 때 포괄적 인 참조를 제공합니다.
  • 위에서 언급 한 Grymoire는 Unix 스크립팅에 대한 정보입니다.
  • Linux Shell Scripting Tutorial은 Bash 학습을위한 최고의 온라인 자습서 중 하나입니다.

요약

거의 모든 심각한 컴퓨터 사용자가 sed와 같은 명령 줄 도구를 매우 잘 알고있을 때가있었습니다. 좋든 나쁘 든, 그 시간은 오래되었습니다. 오늘날 많은 고급 개발자조차도 이러한 기본 도구를 사용하는 방법을 모릅니다.

그러나 고급 사용자, 특히 Linux, Unix 또는 Mac 환경에서 효율성을 극대화하려면 명령 줄을 잘 처리하는 것이 필수적입니다. 대부분의 웹은 Linux 서버에서 실행되고 대부분의 원격 서버 관리는 명령 행에서 수행되므로 웹 개발 또는 관리를 수행하는 경우 특히 유용합니다..

거의 모든 Linux 및 Unix 계열 운영 체제에 포함되어있는 Sed는 원하는 것을 찾는 데 도움이됩니다. 데스크톱 컴퓨터에 사용하기 쉬운 검색 도구가없는 경우 필수 도구가 될 수 있습니다. 배우기가 어렵지 않으며이 클래식 도구를 사용하는 방법을 아는 것은 결코 유감스럽지 않습니다..

추가 자료 및 자료

컴퓨터와 관련된 추가 안내서, 자습서 및 인포 그래픽이 있습니다.

  • 리눅스 프로그래밍 소개와 자료 : 리눅스 프로그래밍에 대한 심층적 인 분석은 모든 행동이있는 커널로 내려 간다.
  • 배쉬 프로그래밍 리소스 : 가장 중요한 유닉스 커맨드 라인 셸로 시작하기.
  • Awk 리소스 : sed의 자매 도구 Awk에 대한 모든 정보.

웹 마스터 도구 A-Z의 궁극적 인 목록

Sed, Awk 및 Bash는 시스템 관리자가 운영 체제를 관리 할 수있게 해주는 대규모 도구 모음의 일부입니다. 웹 마스터 도구 A-Z의 궁극적 인 목록은 작업 수행에 많은 도움을 줄 것입니다..

웹 마스터 도구 A-Z의 궁극적 인 목록
웹 마스터 도구 A-Z의 궁극적 인 목록

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map