소개: LFCS의 기본 사항에서 sed를 사용하는 방법을 알아보세요.
소개 | Linux Foundation Certified System Administrator(LFCS)에게 유용한 또 다른 명령은 "sed"입니다. 원래는 "Streaming Editor"를 의미했습니다. |
"sed" 명령은 파일을 스트림으로 편집할 수 있는 편집기입니다. 파일을 스트리밍하는 방법은 다른 명령에서 파일을 파이프(> 또는 |)하거나 "sed"에 직접 로드하는 것입니다.
이 명령은 파일이 표시되지 않고 시각적 편집이 허용되지 않는다는 점을 제외하면 다른 편집기와 동일하게 작동합니다. 스트림을 조작하기 위해 명령이 "sed"로 전달됩니다.
"sed"로 할 수 있는 기본 작업은 5가지입니다. 물론 "sed"는 매우 강력하고 다른 고급 기능도 있지만 5가지 기본 사항에만 집중하면 됩니다. 5가지 기능 유형은 다음과 같습니다.
검색
바꾸기
삭제
추가
변화/변형
명령 매개변수를 살펴보기 전에 기본 구문을 살펴봐야 합니다.
"sed" 명령의 구문은 다음과 같습니다.
으아아아이 문서에서는 해당 섹션에서 이러한 "옵션"을 다룹니다. "명령"은 정규식 검색 및 바꾸기 패턴일 수 있습니다. "sed"의 작동 방식과 기본 명령을 알아보려면 계속 읽어보세요. 앞서 언급했듯이 "sed"는 이 기사에서 다룰 더 많은 옵션이 포함된 매우 강력한 도구입니다.
예제 파일터미널을 열면 "sed" 예시용 파일을 생성할 수 있습니다. 다음 명령을 실행합니다:
으아아아이제 HOME 폴더에 grephelp.txt라는 파일이 있어야 합니다. 이 파일의 내용은 grep 명령에 대한 도움말 지침입니다.
검색특정 문자열을 검색하는 것은 편집기의 일반적인 기능이며 "sed"에서 검색을 수행하는 것도 예외는 아닙니다.
검색을 수행하여 파일에서 문자열을 찾으세요. 기본 검색을 살펴보겠습니다.
예제 파일에서 PATTERN이라는 단어를 검색하려면 다음 명령을 사용합니다.
으아아아참고: 명령을 잘라내어 붙여넣는 경우 작은따옴표를 키보드의 표준 작은따옴표로 바꿔야 합니다.
-n 매개변수는 모든 줄(p 명령으로 지정된 줄 제외)의 자동 인쇄를 억제하는 데 사용됩니다. 기본적으로 "sed"에 입력된 각 줄은 표준 출력(stdout)으로 인쇄됩니다. "-n" 옵션 없이 위 명령을 실행하면 일치하는 줄과 함께 원본 파일의 각 줄이 표시됩니다.
검색할 파일 이름은 "샘플 파일" 섹션에서 생성한 "grephelp.txt"입니다.
남은 부분은 's/PATTERN/PATTERN/p' 입니다. 이 섹션은 기본적으로 네 부분으로 나누어져 있습니다. s의 첫 번째 부분은 바꾸기 또는 검색 및 바꾸기를 수행하도록 지정합니다.
나머지 두 번째, 세 번째 부분은 패턴입니다. 첫 번째는 검색할 패턴이고, 마지막은 대체 스트림의 문자열과 일치하는 패턴입니다. 이 예에서는 PATTERN 문자열을 찾아 PATTERN으로 바꿉니다. 동일한 문자열을 찾아서 바꾸면 파일이 전혀 변경되지 않으며 화면에서도 변경되지 않습니다.
마지막 명령은 p입니다. 교체 후에 새 줄이 인쇄되도록 지정합니다. 물론, 같은 문자열이 교체되기 때문에 달라지는 것은 없습니다. -n 매개변수를 사용하여 인쇄 행을 억제했으므로 변경된 행은 p 명령을 사용하여 인쇄됩니다.
이 완전한 명령을 사용하면 검색을 수행하고 일치하는 결과를 볼 수 있습니다.
교체특정 문자열을 검색할 때 새 문자열을 일치하는 문자열로 바꿀 수 있습니다. 문자열을 다른 문자열로 바꾸는 것은 매우 일반적인 작업입니다.
다음 명령을 사용하여 동일한 검색을 수행할 수 있습니다:
으아아아이때 "PATTERN"이라는 문자열이 "Pattern"으로 변경되어 표시됩니다. cat grephelp.txt 명령을 사용하여 파일을 보면 파일이 변경되지 않은 것을 볼 수 있습니다. 이 변경은 화면의 출력에만 적용됩니다. 다음을 사용하여 출력을 다른 파일로 파이프할 수 있습니다.
으아아아이제 grephelp1.txt라는 새 파일이 변경된 파일과 함께 존재하게 됩니다. p를 네 번째 옵션으로 남겨두면 대체된 문자열의 각 줄이 파일에서 두 번씩 반복된다는 문제가 있습니다. 또한 "-n" 매개변수를 제거하여 모든 행을 인쇄할 수 있습니다.
문자열을 동일한 문자열로 바꾸는 또 다른 방법은 & 기호를 사용하여 검색 문자열을 나타내는 것입니다. 예를 들어, s/PATTERN/&/p 명령은 동일한 효과를 갖습니다. 예를 들어 S를 추가하려면 s/PATTERN/&S/p 명령을 사용하여 문자열을 추가할 수 있습니다.
각 줄의 특정 패턴만 바꾸고 싶다면 어떻게 해야 하나요? 대체할 특정 일치 항목을 지정할 수 있습니다. 물론 각 행의 교체는 특정 숫자입니다. 예를 들어, 예제 파일에는 대시가 많이 있습니다. 일부 줄에는 대시가 두 개 이상 있으므로 각 줄의 두 번째 대시를 다른 문자로 바꿀 수 있습니다. 두 번째 대시를 각 줄에 별표 *로 바꾸는 명령은 다음과 같습니다.
으아아아여기에서는 원본 s를 사용하여 교체를 수행합니다. 문자 - *로 대체됩니다. 2는 두 번째 줄이 존재하는 경우 각 줄에서 교체한다는 의미입니다. 명령 2를 생략하면 대시의 첫 번째 발생이 대체됩니다. 모든 줄의 대시 대신 첫 번째 대시만 대체됩니다.
한 줄의 모든 대시를 검색하고 별표로 바꾸려면 g 명령을 사용하세요.
으아아아명령을 결합할 수도 있습니다. 두 번째부터 나타나는 대시를 바꾸려고 한다고 가정하면 명령은 다음과 같습니다.
sed 's/-/*/2g' grephelp.txt
现在从第二个开始出现的破折号将被星号取代。
删除搜索过程中有很多时候你可能想要完全删除搜索字符串。
例如,如果要从文件中删除所有破折号,你可以使用以下命令:
sed 's/-//g' grephelp.txt
替换字符串为空白,因此匹配的字符串将被删除。
添加当找到匹配时,你可以添加一行特定的文本,来使这行在浏览或打印中突出。
如果要在匹配后插入新行,那么使用 a 命令,后面跟上新行的字符串。还包括要匹配的字符串。例如,我们可以找到一个 --,并在匹配的行之后添加一行。新行的字符串将是 double dash before this line。
sed '/--/ a "double dash before this line"' grephelp.txt
如果要在包含匹配字符串的行之前加上这行,请使用 i 命令,如下所示:
sed '/--/ i "double dash after this line"' grephelp.txt
如果需要改变/变换一行,则可以使用命令 c。
假设我们有个有一些私人信息的文档,我们需要更改包含特定字符串的行。c 命令将改变整行,而不仅仅是搜索字符串。
假设我们想要阻止示例文件中包含单词 PATTERN 的每一行。更改的行将显示为 This line is Top Secret。命令是:
sed '/PATTERN/ c This line is Top Secret' grephelp.txt
可以进行更改特定字母的大小写的转换。例如,我们可以使用命令 y 将所有小写 a 更改为大写 A,如下所示:
sed 'y/a/A/' grephelp.txt
可以指定多个字母,如 abdg,如下命令所示:
sed 'y/abdg/ABDG/' grephelp.txt
确保第二组字母与第一组字母的顺序相同,否则会被替换和转换。例如,字符串 y/a/D/ 将用大写 D 替换所有小写的 a。
就地更改如果你确实要更改所使用的文件,请使用 -i 选项。
例如,要将 PATTERN 改为 Pattern,并对文件进行更改,则命令为:
sed -i 's/PATTERN/Pattern/' grephelp.txt
现在文件 grephelp.txt 将被更改。-i 选项可以与上述任何命令一起使用来更改原始文件的内容。
练习这些命令,并确保你理解它们。“sed” 命令非常强大。
(题图:Pixabay,CC0)
위 내용은 소개: LFCS의 기본 사항에서 sed를 사용하는 방법을 알아보세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Linux 터미널에서 Python 사용 ...

언어의 멀티 스레딩은 프로그램 효율성을 크게 향상시킬 수 있습니다. C 언어에서 멀티 스레딩을 구현하는 4 가지 주요 방법이 있습니다. 독립 프로세스 생성 : 여러 독립적으로 실행되는 프로세스 생성, 각 프로세스에는 자체 메모리 공간이 있습니다. 의사-다일리트 레딩 : 동일한 메모리 공간을 공유하고 교대로 실행하는 프로세스에서 여러 실행 스트림을 만듭니다. 멀티 스레드 라이브러리 : PTHREADS와 같은 멀티 스레드 라이브러리를 사용하여 스레드를 만들고 관리하여 풍부한 스레드 작동 기능을 제공합니다. COROUTINE : 작업을 작은 하위 작업으로 나누고 차례로 실행하는 가벼운 다중 스레드 구현.

Web.xml 파일을 열려면 다음 방법을 사용할 수 있습니다. 텍스트 편집기 (예 : 메모장 또는 문자 메시지)를 사용하여 통합 개발 환경 (예 : Eclipse 또는 NetBeans)을 사용하여 명령을 편집하십시오 (Windows : Notepad Web.xml; Mac/Linux : Open -A Texted web.xml).

Linux 시스템과 함께 제공되는 Python 통역사를 제거하는 문제와 관련하여 많은 Linux 배포판이 설치 될 때 Python 통역사를 사전 설치하고 패키지 관리자를 사용하지 않습니다 ...

Linux는 서버 관리, 임베디드 시스템 및 데스크탑 환경으로 사용되는 것이 가장 좋습니다. 1) 서버 관리에서 Linux는 웹 사이트, 데이터베이스 및 응용 프로그램을 호스팅하는 데 사용되어 안정성과 안정성을 제공합니다. 2) 임베디드 시스템에서 Linux는 유연성과 안정성으로 인해 스마트 홈 및 자동차 전자 시스템에서 널리 사용됩니다. 3) 데스크탑 환경에서 Linux는 풍부한 응용 프로그램과 효율적인 성능을 제공합니다.

Debianlinux는 안정성과 보안으로 유명하며 서버, 개발 및 데스크탑 환경에서 널리 사용됩니다. 현재 Debian 및 Hadoop과 직접 호환성에 대한 공식 지침이 부족하지만이 기사에서는 Debian 시스템에 Hadoop를 배포하는 방법을 안내합니다. 데비안 시스템 요구 사항 : Hadoop 구성을 시작하기 전에 Debian 시스템이 Hadoop의 최소 작동 요구 사항을 충족하는지 확인하십시오. 여기에는 필요한 JAVA 런타임 환경 (JRE) 및 Hadoop 패키지 설치가 포함됩니다. Hadoop 배포 단계 : 다운로드 및 unzip hadoop : 공식 Apachehadoop 웹 사이트에서 필요한 Hadoop 버전을 다운로드하여 해결하십시오.

GO를 사용하여 Oracle 데이터베이스에 연결할 때 Oracle 클라이언트를 설치해야합니까? GO에서 개발할 때 Oracle 데이터베이스에 연결하는 것이 일반적인 요구 사항입니다 ...

"Debiantrings"는 표준 용어가 아니며 구체적인 의미는 여전히 불분명합니다. 이 기사는 브라우저 호환성에 직접 언급 할 수 없습니다. 그러나 "Debiantrings"가 Debian 시스템에서 실행되는 웹 응용 프로그램을 지칭하는 경우 브라우저 호환성은 응용 프로그램 자체의 기술 아키텍처에 따라 다릅니다. 대부분의 최신 웹 응용 프로그램은 크로스 브라우저 호환성에 전념합니다. 이는 웹 표준에 따라 웹 표준과 잘 호환 가능한 프론트 엔드 기술 (예 : HTML, CSS, JavaScript) 및 백엔드 기술 (PHP, Python, Node.js 등)을 사용하는 데 의존합니다. 응용 프로그램이 여러 브라우저와 호환되도록 개발자는 종종 브라우저 크로스 테스트를 수행하고 응답 성을 사용해야합니다.
