sed常用用法技巧舉例

2021-09-24 10:36:04 字數 928 閱讀 4067

1.sed替換換行符及標籤的使用

echo "a,b,c,d" |sed 's/,/\n/g'|sed 's/\n/,/g'
解析:以上命令實現不了替換換行符,

這跟sed的行處理方式有關,sed讀取一行時,會先把換行符去掉,處理完後再新增上,所以是無法使用上面的命令進行換行符替換的,必須使用sed中的其它命令來完成。上面的恢復可以使用tr命令:

echo "a,b,c,d" |sed 's/,/\n/g'|tr -t '\n' ','
以下命令能實現替換文字中全部換行符:

sed ':label;n;s/\n/:/;b label' filename

sed ':label;n;s/\n/:/;t label' filename

解析:

:label;  這是乙個標籤,用來實現跳轉處理,名字可以隨便取(label),後面的b label就是跳轉指令

n;  n是sed的乙個處理命令,追加文字流中的下一行到模式空間進行合併處理,因此是換行符可見

s/\n/:/;   s是sed的替換命令,將換行符替換為冒號

b label  或者 t label    b / t 是sed的跳轉命令,跳轉到指定的標籤處

2.sed輸出奇數行和偶數行

a.

sed -n 'p;n' file    #奇數行

sed -n 'n;p' file    #偶數行

b.

sed -n '1~2p' file    #奇數行

sed -n '2~2p' file    #偶數行

解析:第乙個數字表示起始行,第二個數字表示步長。

3.在字元之間插入空格

[root@localhost ~]# echo "abc" | sed 's#.#& #g'

a b c

解析:&表示前面匹配到的內容。

CRUL常用用法

1 儲存http結果 curl o page.html 2設定 curl x 123.45.67.89 1080 o page.html 3 自動填寫使用者名稱密碼 curl u name passwd ftp ip port path file 4上傳檔案 curl t localfile u n...

grep awk sed常用用法

sed指令碼是乙個sed的命令清單,啟動sed時以 f選項引導指令碼檔名。sed對於指令碼中輸入的命令非常挑剔,在命令的末尾不能有任何空白或文字,如果在一行中有多個命令,要用分號分隔。以 開頭的行為注釋行,且不能跨行。7.小技巧 在sed的命令列中引用shell變數時要使用雙引號,而不是通常所用的單...

NSStringg常用用法

建立乙個新字串並將其設定為 path 指定的檔案的內容,使用字元編碼enc,在error上返回錯誤 id stringwithcontentsofurl nsurl url encoding nsstringencoding enc error nserror error 建立乙個新字串並將其設定為...