linux sed 常見字符串處理

1.刪除特殊字符ui

將 1.1.0_boke_1.0.1 轉換爲110_boke_101spa

command: new_var=`echo 1.1.0_boke_1.0.1 |sed  s/\.//g` (說明:.是特殊字符,須要專注,輸出new_var即110_boke_101)code

2.將字符串首字母轉換成大寫xml

command: new_string=`echo abcd |sed  's/^../\u&/' ` 字符串

3.將字符串中的第一個字母替換成預期值string

好比將abcd變成wbcdio

command:new_string=`echo abcd |sed s/^./w/g `ast

一樣刪除首字母:好比將abcd變成bcdclass

command:new_string=`echo abcd |sed s/^.//g `test

4.修改替換某一行的某些字符

好比,修改第六行的develop爲master

sed -i 6s/develop/master/  .repo/manifest.xml

5.正則匹配處理取某幾段字符

將var1=「build_option:LEBO_OPTION_1=0x60001,LEBO_OPTION_2=0x60002,LEBO_OPTION_5=0x60005,LEBO_OPTION_6=0x60006」只顯示0x60001,0x60002,0x60005,0x60006

命令:

echo $var1 |awk -F ":" '{print $2}' |sed s/LEBO_OPTION_[0-9]=//g  使用[0-9]正則匹配數字

6.替換某行內容

命令格式1:sed '行號c 新字符串' 文件,好比:sed -i "42c versionCode: $vcode_new\," test.txt

命令格式2:sed '起始行號,終止行號c 新字符串' 文件

 

或者:

  有時候咱們發現,替換某個字符比較難,好比將a=" "換成a="123",整行替換反而更簡單,可是要首先獲取這一行的行號,好比行號是3,那麼命令則是:

tmp_num=3;new_conf=" a="\"123\" "; sed  -i  "$tmp_num"s/^.*$/$new_conf/  filese

7.將文件中的特殊符號變成換行符

command:

(1)逗號變成換行符:sed -i 's/,/\\n/g' user_config.txt

(2)「\」變成「/」 :sed -i 's/\\/\//g' test.txt

 (3)刪除「.」 :  echo $var1 | sed 's/\.//g'

8.顯示某一行或者某幾行

sed -n 2p test.txt

sed -n  '10,20p' test1

9.刪除文件中的空行

command: sed -i '/^\s*$/d' test.txt

10.sed在指定行的上下行插入內容

a\ 在指定的行後面追加一行 
b\ 在指定的行前面追加一行

(1)在test.txt第3行後插入一行,內容爲"test sed": 

modify_num=3; new_string="test sed";sed -i "$modify_num"'a\'"$new_string" test.txt 

(2)在test.txt第3行前插入一行,內容爲"test sed": 

modify_num=3; new_string="test sed";sed -i "$modify_num"'b\'"$new_string" test.txt    

11.刪除行頭的匹配行以及行頭空格已經包含/的字符串

sed /'tag:'/d test1 |sed 's/ //g' |sed 's/origin\///g' > test2

12.在指定位置加入空行

在行頭加入空格

sed -i '40s/^/         /' test.txt

(2)在第三行到最後行的行頭加入空格

sed -i '3,$/^/     /' test.txt

相關文章
相關標籤/搜索