일반적인 상황에서 sed는 처리할 라인을 패턴 공간으로 읽고 스크립트의 명령은 스크립트가 실행될 때까지 라인을 차례로 처리한 다음 해당 라인이 출력되고 패턴 공간이 비어 있다가 반복됩니다. 지금의 작업을 사용하면 파일이 완전히 처리될 때까지 파일의 새 줄을 읽습니다. 그러나 사용자가 스크립트의 특정 명령이 특정 조건에서 실행되기를 바라거나 다음 처리를 위해 패턴 공간이 유지되기를 바라는 등의 다양한 이유로 인해 sed가 파일을 처리할 때 지침을 따르지 않을 수 있습니다. 정상적인 과정을 벗어났습니다. 현재 sed는 사용자 요구 사항을 충족하기 위해 몇 가지 고급 명령을 설정했습니다. sed의 고급 명령을 배우고 싶다면 먼저 다음 두 가지 캐시 영역을 이해해야 합니다.
1. 패턴 공간의 정의: 패턴 공간은 sed가 입력 끝에서 방금 읽은 내용을 저장하는 버퍼 영역입니다.
2. 홀드 공간의 정의: 홀드 공간은 패턴 공간 데이터 처리 시 데이터를 임시로 캐시하기 위해 사용됩니다.
다음과 같은 여러 명령 매개변수도 있습니다.
g: 홀드 공간의 콘텐츠를 패턴 공간으로 복사하고, 패턴 공간의 원본 콘텐츠를 지웁니다
G: 홀드 공간의 내용을 패턴 스페이스에 추가하세요
h: 패턴 공간의 콘텐츠를 홀드 공간으로 복사하고, 원래 홀드 공간의 콘텐츠는 삭제됩니다
H: 패턴 공간의 내용을 고정 공간에 추가합니다
x: 패턴 공간과 홀드 공간의 내용을 교환
예를 들어, 파일 내용을 반전시키려고 합니다.
으아아아다음 명령을 실행하세요:
으아아아위의 실행 과정을 점차적으로 이해해 봅시다
1 다음 세 가지 명령을 분석해 보겠습니다.
2. 특정 작업
위 내용은 종합 요약: Linux sed 다중 라인 처리에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!