iT邦幫忙

DAY 13
5

我與BASH shell scripting的每一天系列 第 13

Linux系統效能分析與探討 - [13] sed - 1

sed是一種結合搜尋與編輯的工具,他最擅長找到特定字串然後加以編輯。因為功能太強大了,很難一次就完整的說明,我就透過一些例子來示範。
前幾天示範了正規化表示法被普遍的運用在grep命令之中,其實就像一開始說過的一樣,正規化表示法並不是一種指令或程式語言,他是一中定義字串patten的規則,所以可以廣泛的使用在不同的場合。搜尋字串當然最常使用,但是編輯也很需要,像是sed命令就是。

sed是一種結合搜尋與編輯的工具,他最擅長找到特定字串然後加以編輯。因為功能太強大了,很難一次就完整的說明,我就透過一些例子來示範。

今天我打算將程式(或文章)中的空白行刪除掉,一行行去dd多累人呀,一不小心還會d錯。透過sed我們就能達成這樣自動編輯的動作:

sed '/^$/d' source-file > temp-file
mv temp-file > source-file

sed的命令格式是: ‘/ 搜尋的字串 / 執行的動作 'd就是delete刪除的動作,而因為我們要搜尋空白行,以正規化表示法來表示,就是字首**^到字尾$間都是空空如也,也就是字首緊接著字尾^$**。上面的例子,我們先將處理過的內容暫存到temp,接下來再替換回原始檔,就算完成。

[本系列文章]

我與BASH的每一天 - [1]利用bc命令來取得數字字串中的特定欄位值
我與BASH的每一天 - [2]直取字串變數中的特定欄位值
我與BASH的每一天 - [3] 利用awk來擷取特定欄位
我與BASH的每一天 - [4] 利用awk來擷取特定欄位-2
我與BASH的每一天 - [5] 利用awk來擷取特定欄位-3
我與BASH的每一天 - [6] 利用cut來擷取特定欄位
我與BASH的每一天 - [7] grep指令的妙用 - 1
我與BASH的每一天 - [8] grep指令的妙用 - 2
我與BASH的每一天 - [9] 正規化表示法 - 1
我與BASH的每一天 - [10] 正規化表示法 - 2
我與BASH的每一天 - [11] 正規化表示法 - 3
我與BASH的每一天 - [12] 正規化表示法 - 4


上一篇
我與BASH的每一天 - [12] 正規化表示法 - 4
下一篇
我與BASH的每一天 - [14] sed - 2
系列文
我與BASH shell scripting的每一天31

尚未有邦友留言

立即登入留言