1.刪除特殊字符
將 1.1.0_boke_1.0.1 轉換為110_boke_101
command: new_var=`echo 1.1.0_boke_1.0.1 |sed s/\.//g` (說明:.是特殊字符,需要專一,輸出new_var即110_boke_101)
2.將字符串首字母轉換成大寫
command: new_string=`echo abcd |sed 's/^../\u&/' `
3.將字符串中的第一個字母替換成預期值
比如將abcd變成wbcd
command:new_string=`echo abcd |sed s/^./w/g `
同樣刪除首字母:比如將abcd變成bcd
command:new_string=`echo abcd |sed s/^.//g `
4.修改替換某一行的某些字符
比如,修改第六行的develop為master
sed -i 6s/develop/master/ .repo/manifest.xml
或者:下面是將85行的127.0.0.1替換為192.168.10.108
sed -i '85{s/127.0.0.1/192.168.10.108/}' test.txt
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
