主流の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スクリプトに含まれているコード、または1行のコードにすぎません。bashsh

sedLinuxボックスで実際のスクリプトをどこで見つけることができますか?それとも、sed実際に生産に使用されるいくつかのスクリプトを見つけるのに最適なオンライン場所がありますか? (読むことはsedtris私の目的にあまり役に立ちません。;)

答え1

努力する:

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

1つ目は私のシステム(debian)で25個のスクリプトを生成し、2つ目は47個のスクリプトを生成します。

このオプションは単語全体を見つけることに制限-wされています。これにより、「or」などの単語との一致を避けることができます。grepsedusedsupposedly

答え2

オペレーティングシステムを表示するのではなく、プログラムを構築するために使用されるスクリプトを見てください。

すべてのautoconf生成configureスクリプトにはsedスクリプトとそれ自体が含まれています。生産するsedスクリプトを含むスクリプト。これはテンプレートファイルの名前をMakefile.ingenerateと同じ値に変更しますMakefile。たとえば(Web検索で簡単に見つけることができます)、このブロックは次のようになります。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ツールでテストするために使用される3つのスクリプトのうちの1つです。

-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を検索してください。は、実際の質問に対する答えと一致するためです。

関連情報