Sed : Sed 터미널 명령을 사용하여 셸 스크립팅 학습

Sed : Sed 터미널 명령을 사용하여 셸 스크립팅 학습

Sed : Sed 터미널 명령을 사용하여 셸 스크립팅 학습

"sed"명령 GNU / Linux 유형의 무료 운영 체제에서는 매우 다재다능한 명령입니다. 그것은 전형적인 것들로 "대화 형"대신 "흐름"을 지향하는 텍스트 편집기로 간주됩니다., 파일 또는 표준 입력을 입력으로 받아들이 기 때문에 각 행을 처리하고 결과를 표준 출력으로 보냅니다. 즉 말하자면, SED (Stream EDitor)를 사용하면 일련의 명령 또는 명령 파일을 기반으로 파일의 여러 줄 내용을 수정할 수 있습니다.

일반적으로«sed»명령이 필터로 사용됩니다., 데이터 항목의 각 줄을 읽은 다음 일반적으로 읽기, 추출, 수정 및 표시 또는 저장하는 요청 된 작업을 수행하기 때문입니다. 그 힘은 또한 파일의 행 내에서 행을 삭제하거나 기록하거나 문자열을 교체 할 수있는 편리한 방법이 있습니다.

"sed"명령 소개

이미 다른 이전 출판물에서 DesdeLinux 우리는 상기 명령의 사용에 대해 이야기하고 예를 보여주었습니다.같은 : 파일에서 특정 줄을 삭제하는 방법 ... y 터미널 사용 : 정규식 사용 II : 대체, 그래서 이번에는 그것을 사용하는 실제 예제와 같이 좀 더 진보 된 것을 직접 볼 것입니다.

기본적으로 "sed"명령에는 다음 구문이 있습니다.

sed comandos_sed archivo

어디에 "Command_sed" 읽은 행으로 수행 할 작업에 대한 하나 이상의 사양에 해당합니다. "보관".

보다 광범위하게 사용하면 다음 구문이 남습니다.

sed [-ns] '[direccion] instruccion argumentos'

장소 :

SED 명령 사용 형식

실용적인 예

경로의 파일 / 폴더 나열

지정된 X 경로의 내용을 나열한 다음 검색된 항목을 감지 / 계산 / 필터링하고 수행 할 후속 작업을 나타내는 데 사용할 수있는 유용한 명령 줄입니다.

ls -l | awk '{ print $NF }' | sed 1d

예 :

예 1 : SED 명령-쉘 스크립팅

"sed"명령을 사용하는이 다른 변형은 매우 유용합니다.

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed 's/^\.\///g' | xargs -n 1 basename

예 4 : 쉘 스크립팅을위한 SED 명령

번호 순서 만들기

생성 된 숫자 시퀀스 (또는 기타 입력)를 화면에 표시하거나 나중에 다른 프로세스에서 읽을 수있는 수직이 아닌 수평 (선형) 방식으로 파일에 저장합니다.

seq 100|tr '\n' ' '|sed 's, $,\n,g'

예 2 : 쉘 스크립팅을위한 SED 명령

«명령을 결합하여 동일한 예를 수행 할 수 있습니다.갈증""Printf" 아래 그림과 같이:

printf '%s ' {1..100}|sed 's/ $/\n/'

예 3 : 쉘 스크립팅을위한 SED 명령

제외 된 파일 삭제

제외 할 파일 패턴을 찾는 파일 시스템 경로를 살펴본 다음 나머지 콘텐츠를 삭제합니다. 정확하고 세심한 청소에 매우 유용합니다.

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed -e '/.*\.txt$/d' -e '/.*\.exe$/d' | xargs rm

예 5 : Shell_Scripting에 대한 SED 명령

가상 MAC 주소 생성

이 단계는 위험한 사이트를 탐색하거나 해킹 작업을 수행 할 때 컴퓨터 보안 또는 보호 작업에 유용 할 수 있습니다.

MAC=`(date; cat /proc/interrupts) | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'` ; echo $MAC

아래와 같이 "sed"명령을 다른 명령과 함께 사용하여 동일한 효과를 얻을 수 있습니다.

openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'
od -An -N10 -x /dev/random | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'
od /dev/urandom -w6 -tx1 -An|sed -e 's/ //' -e 's/ /:/g'|head -n 1

예 :

예 7 : 쉘 스크립팅을위한 SED 명령

일시적으로 터미널 프롬프트 변경

이렇게하면 특별한 활동을 수행하는 동안 유용 할 수있는 매개 변수를 프롬프트에 임시로 삽입 할 수 있습니다. 이 예에서는 프롬프트가 표시되는 방식 만 변경합니다.

export PS1="C:\$( pwd | sed 's:/:\\\\\\:g' )\\> "

예 8. 쉘 스크립팅을위한 SED 명령

"ps"명령의 출력 관리

«ps»명령의 출력, 즉 터미널 프로세스 관리자에서 얻은 형식을 허용하는 매우 실용적인 명령 순서입니다.

sudo ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed "/^ 0.0 /d"

예 :

예 9 : 쉘 스크립팅을위한 SED 명령

이것은 사용 된 메모리의 백분율에 따라 프로세스에 적용될 수 있습니다.

sudo ps -e -o pmem,nice,state,cputime,args --sort pmem | sed "/^ 0.0 /d"

"sed"명령을 사용하는 이러한 명령 줄 예제가 매우 유용하기를 바랍니다. 또한 콘솔에서 직접 사용하거나 스크립트 (자동화 된 작업)에 삽입하여 간접적으로 사용하는 데 사용됩니다.

Shell Scripting에 대한 다음 게시물에서는 다른 명령을 살펴 보겠습니다.

"sed"명령에 대해 좀 더 알고 싶다면이 링크를 방문하십시오 "Unix 및 Linux 용 자습서 및 요약 가이드"또는"기본 사용»또한 자체 블로그에서 Shell Scripting에 대해 자세히 알아보고 싶다면, 여기를 클릭하여 주제에 대한 다른 출판물을 볼 수 있습니다. 스크립팅 DesdeLinux.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.