주류 Linux 배포판에는 sed 스크립트가 내장되어 있습니까?

주류 Linux 배포판에는 sed 스크립트가 내장되어 있습니까?

를 배울 때 bashLinux의 새로운 설치에 이미 존재하는 bash 스크립트를 연구하는 것이 매우 도움이 된다는 것을 알았 습니다 . 많은 모호한 기능에 대한 대부분의 튜토리얼에서./etc/profile/etc/rc.d/init.d/bash

지금 배우는 sed중이고 기능 목록이 훨씬 짧긴 하지만(그래서 모든 기능을 살펴봤다는 것을 알고 있음) sed실제로sed사용된존재하다생산, 튜토리얼의 예제만이 아닙니다.

sed이를 위해 Ubuntu나 CentOS와 같은 잘 알려진 Linux 배포판에 이미 존재하는 스크립트를 조사하고 싶습니다 . 문제는 그런 스크립트가 어디에 있는지 전혀 모른다는 것입니다. 나는 이것을 시도했지만 file /bin/* | grep script | sed 's/:.*//' | xargs grep sed결과가 없었습니다. file /sbin/* | grep script | sed 's/:.*//' | xargs grep -c sed내가 보고 있는 일부 결과를 반환하지만 지금까지 확인한 결과는 모두 sed스크립트에 포함된 코드이거나 한 줄의 코드일 뿐입니다.bashsh

sedLinux 상자에서 실제 스크립트를 어디에서 찾을 수 있습니까 ? 아니면 sed실제로 생산에 사용되는 일부 스크립트를 찾을 수 있는 좋은 온라인 장소가 있습니까? (읽어보는 것은 sedtris내 목적에 별로 도움이 되지 않습니다. ;)

답변1

노력하다:

grep -w sed /etc/init.d/*
grep -w sed /etc/grub.d/*
grep -w sed /usr/bin/*

첫 번째는 내 시스템(debian)에서 25개의 스크립트를 생성하고, 두 번째는 47개의 스크립트를 생성합니다.

이 옵션은 전체 단어를 찾는 것으로 -w제한됩니다 . 이렇게 하면 "or"와 같은 단어와의 일치를 피할 수 있습니다 .grepsedusedsupposedly

답변2

운영 체제를 보는 대신 프로그램을 구축하는 데 사용되는 스크립트를 살펴보십시오.

모든 autoconf 생성 configure스크립트에는 sed 스크립트와 자체가 포함되어 있습니다.생산하다sed 스크립트가 포함된 스크립트입니다. 이는 템플릿 파일의 이름을 Makefile.ingenerate 와 같은 값으로 바꿉니다 Makefile. 예를 들어(웹 검색을 통해 쉽게 찾을 수 있음) 이 블록은 다음과 같습니다.config.statusdistcc 파일사용 방법을 설명합니다 sed:

    그래도:;
      #(의 $as_dir 케이스
      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\\''/g"`;;
      *) as_qdir=$as_dir;;
      이삭
      as_dirs="'$as_qdir'$as_dirs"
      as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \|
     X"$as_dir": 'X\(//\)[^/]' \|
     X"$as_dir": 'X\(//\)$' \|
     X"$as_dir" : 'X\(/\)' \| 2>/dev/null ||
$as_echo X"$as_dir" $as_echo X"$as_dir"|
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
        s//\1/
      }
      /^X\(\/\/\)[^/].*/{
        s//\1/
      }
      /^X\(\/\/\)$/{
        s//\1/
      }
      /^X\(\/\).*/{
        s//\1/
      }
      s/.*/./;물어보세요''
      테스트 -d "$as_dir"&& break
    완벽한

autoconf 외에도 스크립트는 프로그램 구축(및 설치)의 다른 측면에 유용합니다. 이것manlinks.sedncurses의 스크립트는 프로그램으로 간주될 만큼 충분히 깁니다.

물론 중고품을 grep찾는데 도 사용할 수 있습니다. sed그러나 독립형 스크립트는 일반적으로 ".sed" 파일 접미사를 사용합니다. "locate .sed"그걸 찾아보세요.

내 컴퓨터를 빠르게 확인해 보면 매우 긴 sed 스크립트가 있습니다(주석을 포함해 2,000줄이 넘습니다).

#!/usr/5bin/sed -nf
#r
#r sokoban.sed - aurlio marinho jargas <[email protected]>
#r Changes by Gunnar Ritter, October 2002.
#r
#r Sccsid @(#)sokoban.sed       1.7 (gritter) 10/12/03
#r
#r motivated by reading the amazing Adventure (Colossal Cave) history
#r      <http://www.rickadams.org/adventure/a_history.html>
#r GPL levels took from Mike Sharpe's sokoban.vim <http://vim.sourceforge.net>
#r
#r IMPORTANT
#r this script has terminal control chars, so you must DOWNLOAD this
#r file. just copy/paste or printing it to a file (lynx) will NOT work.
#r
#r THE GAME
#r you know sokoban. everybody knows sokoban.

(누군가가 만들어줬어.컬러 버전의).

sed이는 Heirloom 도구에서 테스트하는 데 사용되는 세 가지 스크립트 중 하나입니다.

-rw-r--r--   1 tom           285 Oct  6 2002    makefile 
-rw-r--r--   1 tom          3664 Oct 11 2003    hanoi.sed
-rw-r--r--   1 tom          2338 Oct 11 2003    math.sed
-rw-r--r--   1 tom         42552 Oct 11 2003    sokoban.sed

마찬가지로 sed 프로그램에 대한 흥미로운 예가 있습니다:

#!/bin/sed -nf
#  dc.sed - an arbitrary precision RPN calculator
#  Created by Greg Ubben <[email protected]> early 1995, late 1996
#
#  Dedicated to MAC's memory of the IBM 1620 ("CADET") computer.
#  @(#)GSU dc.sed 1.1 06-Mar-1999 [non-explanatory]
#
#  Examples:
#       sqrt(2) to 10 digits:   echo "10k 2vp" | dc.sed
#       20 factorial:           echo "[d1-d1<!*]s! 20l!xp" | dc.sed
#       sin(ln(7)):             echo "s(l(7))" | bc -c /usr/lib/lib.b | dc.sed
#       hex to base 60:         echo "60o16i 6B407.CAFE p" | dc.sed
#       tests most of dc.sed:   echo 16oAk2vp | dc.sed
#
#  To debug or analyze, give the dc Y command as input or add it to
#  embedded dc routines, or add the sed p command to the beginning of
#  the main loop or at various points in the low-level sed routines.
#  If you need to allow [|~] characters in the input, filter this
#  script through "tr '|~' '\36\37'" first (or use dc.pl).

마찬가지로 다음과 같은 페이지가 있습니다.dc.sed의 컬러 버전

그러나 autoconf 및 빌드 스크립트를 찾을 수 있습니다 sed.

추가 자료:

답변3

그것들은 당신의 컴퓨터에 없고 아마도 사용되지 않을 것입니다. 그러나 당신이 사용하고 있는 이 사이트를 검색하는 것보다 더 나쁜 일을 할 수도 있습니다.5점 이상인 답변 텍스트에서 sed를 검색하세요., 실제 질문에 대한 답변과 일치하기 때문입니다.

관련 정보