0%

sed筆記

介紹

我們在 linux 上常常需要處理文字檔案。而其中最常就是要對檔案中的文字進行處理。
sed 就是這樣的工具。他可以對字串進行複製、取代、刪除。也可以處理 regex 文字。

取代

直接用範例來說明

1
2
 $ echo 'This is a book' | sed 's/This/That/g'
That is a book

這個例子中,s的指令就是取代,我們將出現的This取代為Thatg代表全部取代。

也可以同時多個操作。

1
2
 $ echo 'This is a book' | sed 's/This/That/g;s/book/dog/g'
That is a dog

在這個例子中,我們同時將Thisbook同時取代為Thatdog

刪除

下面是我們在操作的文字檔案內容。

1
2
3
4
5
6
7
8
9
10
{
"name": "hexo-site",
"version": "0.0.0",
"private": true,
"scripts": {
"build": "hexo generate",
"clean": "hexo clean",
"deploy": "hexo deploy",
"server": "hexo server"
},

執行下刪除的指令。

1
2
3
4
5
6
 $  sed '/hexo/d' /tmp/abc.json
{
"version": "0.0.0",
"private": true,
"scripts": {
},

原來檔中出現 hexo 的行都不見了。

結論

sed 是很好用的工具,我們以後再來發掘。