sed 环境安装

sed 一般内置于所有的现代 Linux / Unix 系统,比如 苹果电脑、Ubuntu 系统、CentOS 系统。成为现代操作系统除 Windows 之外必备的工具之一。

如果你是用的是 Windows 微软的电脑,那么没办法,你只能先安装 cygwinmingw

如果你使用的是 Linux/Unix 系统,比如 苹果电脑、Ubuntu 系统、CentOS 系统,那么 sed 已经内置了。

苹果操作系统是 Unix 的一个分支,它不属于 Linux 的分支。

要检查你的电脑是否安装了 sed,可以打开终端或 shell 然后输入以下命令来检查是否安装

[www.twle.cn]$ sed --version

如果你使用的是 苹果电脑,结果如下

sed: illegal option -- -
usage: sed script [-Ealn] [-i extension] [file ...]
       sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...]

如果你使用的是 Ubuntu 系统、CentOS 系统等 Linux 系统,则输出结果如下

GNU sed 版本 4.2.1
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
to the extent permitted by law.

GNU sed home page: <http://www.gnu.org/software/sed/>.
General help using GNU software: <http://www.gnu.org/gethelp/>.
E-mail bug reports to: <bug-gnu-utils@gnu.org>.
Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.

如果你的电脑并没有出现类似上面的结果,那么,我们只好自己手动安装了

如果要检查你电脑上的 sed 的安装位置,可以使用 which 命令

[www.twle.cn]$ which sed

如果你使用的是 苹果电脑,输出结果如下

/usr/bin/sed

如果你使用的是 Ubuntu 系统、CentOS 系统等 Linux 系统,输出结果如下

/bin/sed

使用包管理器安装

  • Ubuntu 等 debian 系统

    在 Ubuntu 等 debian 系统上,可以使用 apt 包管理器来安装 sed。安装命令如下

    sudo apt-get install sed
    

    安装完成后可以使用 sed --version 来检查下安装是否成功。

    如果安装成功,输出结果类似于

    sed (GNU sed) 4.2.2 
    Copyright (C) 2012 Free Software Foundation, Inc. 
    License GPLv3+: GNU GPL version 3 or later. 
    This is free software: you are free to change and redistribute it. 
    There is NO WARRANTY, to the extent permitted by law.  
    Written by Jay Fenlason, Tom Lord, Ken Pizzini, 
    and Paolo Bonzini. 
    GNU sed home page:. 
    General help using GNU software:. 
    E-mail bug reports to:. 
    Be sure to include the word "sed" somewhere in the "Subject:" field.
    
  • CentOS 等 RedHat 系统

    在 CentOS 等 RedHat 系统上,可以使用 rpm 包管理器来安装 sed。安装命令如下

    yum -y install sed
    

    安装完成后可以使用 sed --version 来检查下安装是否成功。

    如果安装成功,输出结果类似于

    sed (GNU sed) 4.2.2 
    Copyright (C) 2012 Free Software Foundation, Inc. 
    License GPLv3+: GNU GPL version 3 or later. 
    This is free software: you are free to change and redistribute it. 
    There is NO WARRANTY, to the extent permitted by law.  
    Written by Jay Fenlason, Tom Lord, Ken Pizzini, 
    and Paolo Bonzini. 
    GNU sed home page:. 
    General help using GNU software:. 
    E-mail bug reports to:. 
    Be sure to include the word "sed" somewhere in the "Subject:" field.
    
  • 苹果操作系统 ( darwin )

    如果你使用的是苹果操作系统,则可以使用 brew 这个最流行的包管理器来安装。

    如果你直接使用 brew install sed 命令安装则会报错

    Error: No available formula with the name "sed" 
    ==> Searching for a previously deleted formula (in the last month)...
    Warning: homebrew/core is shallow clone. To get complete history run:
      git -C "$(brew --repo homebrew/core)" fetch --unshallow
    

    这是因为 brew 中的 sed 并不叫 sed 而是其它名字。

    我们可以使用 brew search sed 搜索看看 sed 包有没有?输出结果类似于

    ==> Formulae
    gnu-sed                         libxdg-basedir                  minised                         ssed
    
    ==> Casks
    eclipse-dsl                     google-ads-editor               marsedit                        physicseditor
    focused                         licensed                        osxfuse-dev                     prefs-editor
    

    可以发现 brew 中还是有 sed 的,只不过名字叫做 gun-sed

    我们使用 brew info gnu-sed 看看 gnu-sed 的详细信息

    gnu-sed: stable 4.7 (bottled)
    GNU implementation of the famous stream editor
    https://www.gnu.org/software/sed/
    Conflicts with:
      ssed (because both install share/info/sed.info)
    Not installed
    From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/gnu-sed.rb
    ==> Caveats
    GNU "sed" has been installed as "gsed".
    If you need to use it as "sed", you can add a "gnubin" directory
    to your PATH from your bashrc like:
    
        PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"
    ==> Analytics
    install: 9,993 (30 days), 32,668 (90 days), 160,813 (365 days)
    install_on_request: 7,853 (30 days), 25,119 (90 days), 114,312 (365 days)
    build_error: 0 (30 days)
    

    从输出结果中可以看出,如果使用 brew 安装 gnu-sed ,那么安装完成后的命令并不是 sed 而是 gsed

    好了,不管它了,先用 brew info gnu-sed 来安装吧

    brew install gnu-sed
    

    安装完成后可以使用 gsed --version 来检查下安装是否成功。

    如果安装成功,输出结果类似于

    gsed (GNU sed) 4.7
    Copyright (C) 2018 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    
    Written by Jay Fenlason, Tom Lord, Ken Pizzini,
    Paolo Bonzini, Jim Meyering, and Assaf Gordon.
    GNU sed home page: <https://www.gnu.org/software/sed/>.
    General help using GNU software: <https://www.gnu.org/gethelp/>.
    E-mail bug reports to: <bug-sed@gnu.org>.
    

源代码编译安装

sed 由 自由软件基金会 ( 英文全称 Free Software Foundation,英文简称 FSF )开发与维护。由 GNU/Linux 分发,因此也常常被称为 GNU SED。

也就是说,目前我们所使用的 sed 是 GNU 项目的一部分,它是开源的,源代码我们可以免费下载。

如果你能通过包管理器安装,我们绝对推荐你通过包管理器安装,如果不能,那么只好跟着下面的步骤一步一步源代码编译安装啦。

下面的安装方式适用于所有的 Linux / Unix 系统,包括 苹果电脑

下面的安装步骤是所有 GNU 软件的标准安装流程,如果你会其它项目的编译安装,那么下面的流程就是小 case 了。

  1. ftp://ftp.gnu.org/gnu/sed GNU FTP 上下载最新的版本。

    截止今天 2019-06-01,最新的 sed 版本为 4.7

    你可以点击 sed-4.7.tar.xz 下载或者使用下面的 wget 命令来下载

    wget ftp://ftp.gnu.org/gnu/sed/sed-4.7.tar.xz
    
  2. 下载完成后使用 tar 命令来解压 sed-4.7.tar.xz

    tar xvf sed-4.7.tar.xz
    
  3. 使用 cd sed-4.7 命令进入解压的目录

  4. 运行 ./configure 来配置编译环境

    ./configure
    
  5. 如果没有出任何问题则可以使用 make 命令来编译

    make
    
  6. 编译完成后,我们可以使用 check 命令来运行测试,确保我们的编译是成功的。

    make check
    

    这是一个可选的步骤,但我们推荐你这么做。

  7. 检查通过后,我们可以运行 make install 命令来安装。

    sudo make install
    

    注意,该命令可能会提示你需要管理权限,给就是了。

好了,到目前为止,安装已经完成了,我们可以输入下面的命令来检查安装是否正确

sed --version

如果不出任何问题,输出结果类似于

GNU sed 版本 4.7
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
to the extent permitted by law.

GNU sed home page: <http://www.gnu.org/software/sed/>.
General help using GNU software: <http://www.gnu.org/gethelp/>.
E-mail bug reports to: <bug-gnu-utils@gnu.org>.
Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.
关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.