1. 程式人生 > >【Linux】Sed簡明教程

【Linux】Sed簡明教程

http://coolshell.cn/articles/9104.html

awk於1977年出生,今年36歲本命年,sed比awk大2-3歲,awk就像林妹妹,sed就是寶玉哥哥了。所以 林妹妹跳了個Topless,他的哥哥sed坐不住了,也一定要出來抖一抖。

sed全名叫stream editor,流編輯器,用程式的方式來編輯文字,相當的hacker啊。sed基本上就是玩正則模式匹配,所以,玩sed的人,正則表示式一般都比較強。

同樣,本篇文章不會說sed的全部東西,你可以參看sed的手冊,我這裡主要還是想和大家競爭一下那些從手機指縫間或馬桶裡流走的時間,用這些時間來學習一些東西。當然,接下來的還是要靠大家自己雙手。

用s命令替換

我使用下面的這段文字做演示:

1 2 3 4 5 6 7 8 9 $ cat pets.txt This is my cat my cat's name is betty This is my dog my dog's name is frank This is my fish my fish's name is george This is my goat my goat's name is adam

把其中的my字串替換成Hao Chen’s,下面的語句應該很好理解(s表示替換命令,/my/表示匹配my,/Hao Chen’s/表示把匹配替換成Hao Chen’s,/g 表示一行上的替換所有的匹配):

1 2 3 4 5 6 7 8 9 $ sed "s/my/Hao Chen's/g" pets.txt This is Hao Chen's cat Hao Chen's cat's name is betty This is Hao Chen's dog
Hao Chen's dog's name is frank This is Hao Chen's fish Hao Chen's fish's name is george This is Hao Chen's goat Hao Chen's goat's name is adam

注意:如果你要使用單引號,那麼你沒辦法通過\’這樣來轉義,就有雙引號就可以了,在雙引號內可以用\”來轉義。

再注意:上面的sed並沒有對檔案的內容改變,只是把處理過後的內容輸出,如果你要寫回檔案,你可以使用重定向,如:

1 $ sed "s/my/Hao Chen's/g" pets.txt > hao_pets.txt

或使用 -i 引數直接修改檔案內容:

1

相關推薦

LinuxSed簡明教程

http://coolshell.cn/articles/9104.html awk於1977年出生,今年36歲本命年,sed比awk大2-3歲,awk就像林妹妹,sed就是寶玉哥哥了。所以 林妹妹跳了個Topless,他的哥哥sed坐不住了,也一定要出來抖一抖

Linuxsed、awk、cut、sort常用命令

1、利用sed命令在/etc/passwd中分別查詢滿足以下條件的行:   首先在操作之前,先整一份資料,為了視覺化方便,整到桌面。(之所以費勁整到桌面上就是為了照顧一些初學者,當執行完下面兩句命令後,會發現桌面上多了一個檔案,相當於是看到正反饋了,就會給人信心,告訴自己付出就有回報。)

linuxffmpeg 安裝教程

ffmpeg是一個非常快速的視訊和音訊轉換器,也可以從現場音訊/視訊源抓取。它還可以在任意取樣率之間進行轉換,並使用高質量的多相濾波器動態調整視訊大小。 yasm 不知道什麼東西 下載地址 http://yasm.tortall.net/Download.htm

Linux基礎每日一命之sed命令

標準 tin .... ddr 一行 inet6 修改文件 方法 兩個 sed命令是利用script來處理文件 sed可依照script的指令,來處理、編輯文本文件。sed主要用來自動編輯一個或多個文件;簡化對文件的反復操作;編寫轉換程序等 語法:sed [-hnV][-e

Linux- 簡明Vim練習攻略

vim的學習曲線相當的大(參看各種文字編輯器的學習曲線),所以,如果你一開始看到的是一大堆VIM的命令分類,你一定會對這個編輯器失去興趣的。下面的文章翻譯自《Learn Vim Progressively》,我覺得這是給新手最好的VIM的升級教程了,沒有列舉所有的命令,只是列舉了那些最有用的命令。非常不錯。

專欄 - react 簡明入門中文教程

react 簡明入門中文教程 去年寫了一個 vue 的系列教程,收穫好評無數。今年接觸的專案都是 react 的,於是,再寫一個系列的入門教程,方便大家可以快速的掌握 react。我的這個系列的博文,不會講太多的概念,只要跟著敲一

Linuxcat、tail、head、grep、sed檢視檔案任意幾行的資料

grep結果太多, 可否只取前面10行匹配的結果grep ...... | head -10檢視CPU是幾核:#cat /proc/cpuinfo |grep "cores"|uniq----------------------------------------------

Linux CentOS6.5安裝Python2.7以及pip等工具

自己 lin 存在 lean prefix nbsp ase 路徑 details 原文地址http://blog.csdn.net/u012538536/article/details/47360929。 CentOS6.5下是原來就有python的,我的鏡像裏面自帶的

Linux 用戶管理

文件夾 通過 useradd 遠程登錄 日期 賬號 改變自己 shell類型 查看 Linux用戶管理 ■  查看用戶整體情況   cat /etc/passwd可以查看用戶的一些基本信息。用finger <user>似乎更加方便   查看某一個特定的

Linux系統管理

kcon status gcc 不知道 切換 all usr make entos 軟件包管理 一 軟件包分類  源碼包: .tar.gz .tar.bz2   二進制包: .rpm 二 二進制包安裝   (一) rpm命令手動管理二進制包 (掛載光盤)

LinuxLAMP環境搭建(簡易版)

freetype 軟件 系統 解壓縮 net done .gz 輔助 one 一. 輔助軟件包安裝 準備工作:1.Linux系統準備 恢復快照(初始化安裝) 設置IP 關閉SELINUX 配置yum源 2.yum -y install gcc

Linuxnginx服務配置

網站目錄 write timeout per dex 修改 header www val 一. 部署LNMP環境 準備工作 Linux系統準備 設置IP 關閉防火墻

LinuxLinux下統計當前文件夾下的文件個數、目錄個數

article logs 過濾 ref bash 輸出 子文件夾 http 輸出信息 統計當前文件夾下文件的個數,包括子文件夾裏的 ls -lR|grep "^-"|wc -l 統計文件夾下目錄的個數,包括子文件夾裏的 ls -lR|grep "^d"

LInux查看Linux系統版本信息

phi 2.6.32 block smp lsb 適合 home utc desc 一、查看Linux內核版本命令(兩種方法): 1、cat /proc/version [root@S-CentOS home]# cat /proc/versionLinux versio

linuxCrontab 定時任務 使用實例

進行 服務器 image program 權限 舉例 星期六 style log 1 使用putty 登錄linux 服務器 2 輸入以下命令。查看已有的定時任務 crontab -l 3 輸入 以下命令,進入定時任務文件 crontab -e 4 鍵盤

LinuxLinux操作系統學習路線

目錄 用戶和用戶組 logs mysq 紅旗 移植 ini var 文件權限 數據離不開服務端的存儲,Linux是免費、開源、相對其他操作系統比較穩定、安全,是服務端部署首選的操作系統。 網上關於Linux的學習材料已經很多,這裏只是簡單羅列一下Linux的學習要點。 最重

linux阿裏雲防火墻相關

安全組 use ide inux tables 修改 授權 conf tab 1. 需現在阿裏雲安全組策略中開啟相應端口,80、3306等。 2. 想用外網訪問3306需開啟權限,進入mysql鍵入   GRANT ALL PRIVILEGES ON *.* TO [ema

Linux Screen超簡明教程

nbsp 會話 當前 卸載 yum ubunt ref linux com 1.安裝Screen 大多數情況下,系統已經安裝好了screen。如果沒有,可以用下面的命令來安裝: CentOS系統中執行:yum install screen Debian/Ubuntu系統執行

LinuxServicesConfigurationpuppet

基於 force puppet 用法 pac notify man services 抽象 ---恢復內容開始--- 1. 簡介 1.1. 官方網站:https://docs.puppet.com/ 1.2. puppet是IT基礎設施自動化管理工具,他的整個生命周期包括:

LinuxLinux定時任務Crontab命令詳解

星期幾 ima 默認 定時 最好 表示 時間 path 配置文件 linux 系統則是由 cron (crond) 這個系統服務來控制的。Linux 系統上面原本就有非常多的計劃性工作,因此這個系統服務是默認啟動的。另 外, 由於使用者自己也可以設置計劃任務,所以, Lin