本文介紹的是sed,在編輯時候,更多新鮮實用的作法。code
示例一:字符串
#將test.txt裏面的內容另存爲output sed 'w output.txt' test.txt
示例二:test
#將test.txt的第二行插入102,上海並保存為output #分號;能夠一行執行多條語句 sed '2i 102,上海;w output.txt' test.txt
sed '[地址範圍|模式範圍]' \
s#[被替換的字符串]#[替換後的字符串]#[替換標誌] [輸入文件]sed
替換標誌 g全局標誌 數字標誌1,2,3 ;方法
實例1:數據
cat gg.text #第一列能夠所有替換 sed 's#1#0#1' gg.text #第二列的第一行替換 sed '2s#1#0#1' gg.text #第二,第三列的第一行替換 sed '2,3s#1#0#1' gg.text #第一行的所有替換 sed '2s#1#0#1g' gg.text #第二行從第4個開始所有替換 sed '2s#1#0#4g' gg.text #第二第三行的第4行開始所有替換 sed '2,3s#1#0#2g' gg.text #sed 行數替換範圍1<N<512
實際狀況:
如何同時執行多條語句?腳本
#方法1: -e #刪除第2列數據 並將文件中的01所有替換成10 結果另存爲output.txt sed -e '2d' -e 's#01#10#g' -e 'w output.txt' test.txt #方法2: 分號隔開 sed '2d;s#01#10#g;w output.txt' test.txt #方法3: sed -f 接上sed腳本 cat manul.sed #在腳本里面輸入內容: 2d s#01#10#g w output.txt sed -f manul.sed test.txt
小實例:如何獲取行號文件
#先提取行號,而後對換行的地方通通替換成空格。 sed '=' test.txt | sed 'N;s#\n# #' # cat -n 選項 cat -n test.txt
小實例:對相同範圍作多種不一樣操做
相似乘法分配律co
sed -n '2,4{p;=}' test.txt sed -n '2,4p;2,4=' test.txt
小實例:輸出不可見字符
l 打印文本中TAB鍵\t和行尾標誌$字符
sed -n 'l' test.txt
小實例:字符替換
y 參數 內容格式和s///或者s###一致
sed 'y/111/222/g' test.txt tr '111' '222' < test.txt
小實例:讀取文件添加寫入
r 參數 + 要被讀取的文件名
sed 'r testb.txt' testa.txt #在第一行添加插入 sed '1r testb.txt' testa.txt #在最後一行添加插入,等價於文件合併 sed '$r testb.txt' testa.txt