Man page - sed(1)

Packages contains this manual

    Package:  sed
    apt-get install sed
    Manuals in package:
    Documentations in package:

Available languages:

en fr pl da tr sv ja ro zh_TW zh_CN de

Manual

SED

名 稱
摘 要
描 述
命 令 摘 要
零 地 址 “命 令 ”
零 或 一 地 址 命 令
接 受 範 圍 地 址 的 命 令
地 址
正 則 表 示 式
BUGS
作 者
版 權
參 見


名 稱

sed - 文 字 篩 選 和 格 式 轉 換 的 流 式 編 輯 器

摘 要

sed [ 選 項 ]... {script-only-if-no-other-script} [ 輸 入 檔 案 ]...

描 述

Sed 是 一 個 流 式 編 輯 器 。 流 式 編 輯 器 是 用 來 在 輸 入 流 ( 一 個 檔 案 或 者 管 道 輸 入 ) 中 完 成 基 本 文 字 轉 換 的 。 當 在 一 些 允 許 指 令 碼 編 輯 的 編 輯 器 中 ( 比 如 ed ) , sed 透 過 將 輸 入 傳 輸 為 一 個 輸 入 來 工 作 , 這 樣 更 高 效 。 但 是 是 sed 的 功 能 來 過 濾 管 道 的 文 字 並 從 其 他 型 別 的 編 輯 器 中 特 別 識 別 出 這 些 文 字 。

-n , --quiet , --silent

不 自 動 列 印 模 式 空 間 的 內 容

-e 指 令 碼 , --expression = 指 令 碼

新 增 指 令 碼 到 將 要 執 行 的 命 令

-f 指 令 碼 檔 案 , --file = 指 令 碼 檔 案

新 增 指 令 碼 檔 案 的 內 容 到 即 將 執 行 的 命 令

--follow-symlinks

處 理 已 存 在 檔 案 時 跟 隨 連 結

-i[SUFFIX] , --in-place [= SUFFIX ]

編 輯 已 存 在 的 檔 案 ( 如 果 提 供 了 SUFFIX作 為 字 尾 則 做 備 份 )

-l N, --line-length = N

指 定 ’l’命 令 需 要 的 自 動 換 行 長 度

--posix

停 用 所 有 GNU外 掛 。

-E , -r , --regexp-extended

在 指 令 碼 中 使 用 擴 充 套 件 正 則 表 示 式 ( 為 了 可 移 植 性 , 請 使 用 符 合 POSIX的 -E

-s , --separate

將 多 個 檔 案 分 別 看 待 , 而 非 統 一 視 作 同 個 連 續 的 流 。

--sandbox

在 沙 箱 模 式 下 操 作 。

-u , --unbuffered

從 輸 入 檔 案 中 讀 取 最 少 量 的 資 料 並 更 頻 繁 地 重 新 整 理 輸 出 緩 衝 區

-z , --null-data

用 NUL字 元 分 割 行

--help

顯 示 這 個 幫 助 並 退 出

--version

輸 出 版 本 資 訊 並 退 出

如 果 沒 有 給 出 -e --expression -f , 或 者 --file 選 項 , 那 麼 第 一 個 非 選 項 引 數 會 被 當 作 sed指 令 碼 解 釋 。 所 有 餘 下 的 引 數 是 輸 入 檔 案 的 名 稱 ; 如 果 沒 有 指 定 輸 入 檔 案 , 那 麼 就 會 讀 取 標 準 輸 入 。

GNU sed主 頁 : <http://www.gnu.org/software/sed/>。 使 用 GNU軟 體 的 通 用 幫 助 : <http://www.gnu.org/gethelp/>。 Bug報 告 請 傳 送 電 子 郵 件 至 : <bug-sed@gnu.org>。

命 令 摘 要

這 只 是 為 已 經 知 道 sed 命 令 和 相 關 文 件 ( 例 如 texinfo文 件 ) , 需 要 翻 閱 命 令 完 整 描 述 的 人 準 備 的 sed 命 令 的 簡 短 摘 要 。

零 地 址 “命 令 ”

: label

b t 命 令 的 標 籤 。

# comment

註 釋 將 會 延 長 到 下 一 個 新 行 (或 者 一 個 -e 指 令 碼 片 段 的 結 尾 。 )

}

一 個 { }塊 的 閉 括 號 。

零 或 一 地 址 命 令

=

答 應 當 前 行 的 行 號 。

a \

text

追 加 text , text可 以 透 過 預 先 寫 入 反 斜 槓 來 嵌 入 新 行 。

i \

text

插 入 text , text可 以 透 過 預 先 寫 入 反 斜 槓 來 嵌 入 新 行 。

q [ exit-code ]

立 即 退 出 sed 指 令 碼 而 不 處 理 其 他 輸 入 , 除 非 自 動 列 印 沒 有 停 用 使 得 當 前 模 式 空 間 將 會 被 列 印 。 [ exit-code ]是 GNU外 掛 ( 擴 充 套 件 ) 。

Q [ exit-code ]

立 即 退 出 sed 指 令 碼 而 不 處 理 其 他 輸 入 。 這 是 一 個 GNU外 掛 。

r 檔 名

檔 名 讀 取 內 容 並 追 加 到 最 後 。

R 檔 名

檔 名 讀 取 一 行 並 追 加 到 最 後 。 每 次 呼 叫 這 個 命 令 就 從 檔 案 中 讀 取 一 行 。 這 是 一 個 GNU外 掛 。

接 受 範 圍 地 址 的 命 令

{

開 始 一 個 命 令 塊 ( 以 一 個 }結 束 ) 。

b label

程 式 跳 轉 到 label 處 ;如 果 label 被 省 略 , 跳 轉 到 指 令 碼 尾 部 。

c \

text

text 代 替 選 擇 的 行 , text 可 以 透 過 預 先 寫 入 反 斜 槓 來 嵌 入 新 行 。

d

刪 除 模 式 空 間 。 開 始 下 一 個 迴 圈 。

D

如 果 模 式 空 間 包 含 新 行 , 在 d命 令 釋 出 之 後 開 始 一 個 新 的 普 通 迴 圈 。 否 則 , 刪 除 模 式 空 間 中 的 text直 到 新 行 , 並 且 在 不 讀 入 新 行 的 情 況 下 , 用 結 果 的 模 式 空 間 開 始 一 個 迴 圈 。

h H

複 製 /追 加 模 式 空 間 到 儲 存 空 間 。

g G

複 製 /追 加 儲 存 空 間 到 模 式 空 間 。

l

用 “直 觀 明 確 ”的 格 式 列 出 當 前 行 。

l width

用 “直 觀 明 確 ”的 格 式 列 出 當 前 行 , 在 width 字 元 處 結 束 。 這 是 一 個 GNU外 掛 。

n N

讀 取 /追 加 下 一 行 輸 入 到 模 式 空 間 。

p

輸 出 當 前 的 模 式 空 間 。

P

輸 出 直 到 遇 到 當 前 模 式 空 間 的 第 一 個 嵌 入 的 換 行 符 。

s/ regexp / replacement /

嘗 試 與 模 式 空 間 匹 配 regexp , 如 果 成 功 , 用 replacement 代 替 匹 配 的 部 分 。 replacement 可 能 包 含 特 殊 字 元 & 來 引 用 模 式 空 間 中 匹 配 的 部 分 , 而 特 殊 字 元 \1到 \9則 引 用 regexp 中 對 應 匹 配 的 子 表 示 式 。

t label

自 上 次 輸 入 行 讀 取 之 後 並 且 上 次 執 行 了 t或 者 T命 令 之 後 , 如 果 一 個 s///被 成 功 替 換 , 那 麼 跳 轉 到 label 處 ;如 果 label 被 忽 略 , 跳 轉 到 指 令 碼 結 尾 。

T label

自 上 此 輸 入 行 讀 取 之 後 並 借 上 次 執 行 了 t或 者 T命 令 之 後 , 如 果 一 個 s///被 成 功 替 換 , 那 麼 跳 轉 到 label 處 ;如 果 label 被 忽 略 , 跳 轉 到 指 令 碼 結 尾 。 這 是 一 個 GNU外 掛 。

w filename

將 當 前 的 模 式 空 間 寫 入 到 filename 中 。

W filename

寫 入 當 前 模 式 空 間 的 第 一 行 到 filename 中 。 這 是 一 個 GNU外 掛 。

x

交 換 模 式 空 間 和 儲 存 空 間 的 內 容 。

y/ source / dest /

將 模 式 空 間 中 顯 示 為 source 的 字 元 用 dest 字 元 來 寫 出 。

地 址

Sed 命 令 可 以 沒 有 指 定 地 址 , 這 樣 將 會 為 所 有 行 執 行 命 令 。 如 果 給 出 了 一 個 地 址 , 這 樣 命 令 就 只 會 為 匹 配 此 地 址 的 行 執 行 ; 如 果 給 出 了 兩 個 地 址 , 這 樣 命 令 將 會 對 從 匹 配 的 第 一 個 地 址 到 第 二 個 地 址 的 區 域 的 所 有 輸 入 行 執 行 命 令 。 關 於 地 址 範 圍 有 三 點 : 語 法 為 : addr1 , addr2 ( 比 如 , 地 址 要 用 逗 號 分 開 ) ; addr1 匹 配 的 行 一 定 會 被 接 受 , 即 使 addr2 選 定 的 是 更 靠 前 的 行 ; 並 且 如 果 addr2 是 一 個 regexp ( 正 則 表 示 式 ) , 它 將 不 會 重 複 測 試 addr 匹 配 的 行 。

在 地 址 ( 或 地 址 範 圍 ) 之 後 , 在 命 令 之 前 , 可 以 插 入 一 個 ! , 這 個 符 號 定 義 的 命 令 只 有 在 地 址 ( 地 址 範 圍 ) 匹 配 的 時 候 才 能 執 行 。

支 援 下 面 的 地 址 型 別 :

number

只 匹 配 行 號 為 number 的 行 。 ( 除 非 -s 選 項 在 命 令 列 中 被 指 定 , number值 將 會 按 照 檔 案 數 漸 增 。 )

first ˜ step

匹 配 每 一 個 第 step 行 並 從 first 開 始 計 數 。 舉 個 栗 子 , ‘‘sed -n 1˜2p’’將 打 印 出 輸 入 流 所 有 奇 數 行 , 而 地 址 2˜5將 匹 配 從 第 2行 開 始 的 , 以 5為 步 長 的 行 。 first 可 以 是 零 ; 這 樣 , sed 按 其 為 step 來 操 作 。 ( 這 是 一 個 外 掛 。 )

$

匹 配 最 近 的 行 。

/ regexp /

匹 配 符 合 正 則 表 示 式 regexp 的 行 。

\ c regexp c

匹 配 符 合 正 則 表 示 式 regexp 的 行 。 其 中 c 可 以 是 任 意 字 元 。

GNU sed 同 樣 支 援 某 些 特 殊 2地 址 格 式 :
0, addr2

從 “匹 配 了 第 一 個 地 址 ”狀 態 始 , 直 到 發 現 addr2 。 這 和 1, addr2 很 相 似 , 除 了 當 addr2 匹 配 了 輸 入 的 第 一 行 , 0, addr2 形 式 將 在 該 範 圍 的 結 尾 ; 而 1, addr2 形 式 仍 然 在 該 範 圍 的 開 始 。 這 種 形 式 只 有 在 addr2 是 正 則 表 示 式 的 情 況 下 才 有 效 。

addr1 ,+ N

將 會 匹 配 addr1 和 在 addr1 之 後 的 N 行 。

addr1 N

將 會 匹 配 addr1 addr1 之 後 的 輸 入 行 數 是 N 倍 的 下 一 行 。

正 則 表 示 式

POSIX.2 BREs 應 該 是 支 援 的 , 但 是 由 於 效 能 的 原 因 , 這 個 特 性 還 不 完 全 。 其 中 \n 序 列 匹 配 換 行 符 , \a \t 和 其 他 序 列 也 是 類 似 的 。 -E 選 項 開 關 用 來 選 擇 是 否 使 用 擴 充 套 件 正 則 表 示 式 ; -E選 項 已 經 由 GNU sed支 援 了 很 多 年 , 現 已 包 含 於 POSIX中 。

BUGS

請 將 錯 誤 報 告 發 送 至 bug-sed@gnu.org 。 另 外 , 請 在 郵 件 正 文 中 儘 量 包 含 ‘‘sed --version’’的 資 訊 。

作 者

由 Jay Fenlason, Tom Lord, Ken Pizzini, 和 Paolo Bonzini寫 成 。 GNU sed 主 頁 : <http://www.gnu.org/software/sed/>. 使 用 GNU 軟 體 的 一 般 性 手 冊 : <http://www.gnu.org/gethelp/>. E-mail bug 報 告 到 : <bug-sed@gnu.org>.

版 權

Copyright © 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://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.

參 見

awk (1), ed (1), grep (1), tr (1), perlre (1), sed.info, 任 何 和 sed 相 關 的 書 籍 , sed 常 見 問 題 (http://sed.sf.net/grabbag/tutorials/sedfaq.txt), http://sed.sf.net/grabbag/。

sed 的 完 整 文 件 是 作 為 Texinfo手 冊 維 護 的 。 如 果 info sed 程 式 正 確 的 安 裝 , 可 以 執 行

info sed

命 令 來 訪 問 完 整 的 手 冊 。

本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。

翻 譯 人 員 : Means Lee
翻 譯 日 期 : 2017-05-15
原 始 軟 體 : sed
中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh