sed命令使用記錄

2022-02-13 20:38:45 字數 1070 閱讀 4686

背景:檔案a,檔案b,檔案格式一致,有兩列,第一列為key,第二列為value。

目的:將檔案a中的內容插入到檔案b中,不能在最後,不能有重複key(我的key和value用tab鍵分割)

實現:我的實現很low,就是查詢key,若有再刪除再寫入,若無則直接寫入。

增加了全域性變數a是為了插入b檔案後的順序與a一致,非必須操作。如下主要記錄兩方面內容,乙個是shell中變數的自增;乙個是sed命令的介紹

a=0

cat $filenamea |awk '

nr>0

'|while

read key value

dolet a+=1

line=`sed -n '/'"

$key

"'/=

' $filenameb`

if [ ! -n "

$line

"]; then

sed -i "

$a a$key  $value

" $filenamebelse

sed -i "

$line d

" test/$dbname

sed -i "

$a a$key  $value

" $filenamebfi

done

一  shell中變數的自增方式

a=$(($a+1

))a=$[$a+1

]a=`expr $a + 1

`let a++let a+=1

((a++))

注意變數a定義的位置。補充一句shell全域性變數的定義和使用

[mobdev@ip-192-168-1-15:52.77.116.218 advanced_search]$export a=1

[mobdev@ip-192-168-1-15:52.77.116.218

advanced_search]$echo $a

1

二 sed命令介紹

sed命令使用簡單記錄

sed s pattern replace string file sed.txt中對每行的第乙個lifeng用lf替換 sed s lifeng lf sed.txt 原始檔內容不會變的 要替換所有內容,命令尾部加引數g sed s lifeng lf g sed.txt 要從每行的第二處內容進行...

sed使用記錄

一 插入批量內容 批量修改檔案內容一般使用sed,但是在插入多行內容和不同格式的時候就遇到困難了,今天終於知道怎麼處理了,記錄一下!插入以下內容。變更前 apiversion extensions v1beta1 kind deployment metadata spec apiversion ex...

sed命令使用

sed命令使用 常用選項 n 使用安靜模式,在一般情況所有的 stdin 都會輸出到螢幕上,加入 n 後只列印被 sed 特殊處理的行 e 多重編輯,且命令順序會影響結果 f 指定乙個 sed 指令碼檔案到命令列執行,r sed 使用擴充套件正則 i 直接修改文件讀取的內容,不在螢幕上輸出 sed操...