shell指令碼中sed命令使用變數行號

2022-06-09 11:39:09 字數 637 閱讀 1153

當在shell指令碼中,需要先用grep獲取行號,再利用行號插入資料時,可以這樣使用

insert_str="

12312

"num=`grep -rn $str $|awk -f ':'

''`sed -i $num"

i"$insert_str $

請注意,變數和開頭引號之間不能有空格

或者這樣

sed -i "

$num i$insert_str

" $file

其中,i表示在行前插入,a表示在行後插入

如果插入字串有空格,可以使用\轉義

insert_str="

\ \ \ 123

"

sed 中 單引號,雙引號 是有區別的.

感覺單引號並不能 解析 shell中的變數,需要用雙引號才能解析。從上面的例子可以看出來。

export new=good

echo

"hello old frank

" |sed "

s/old/$/g

"

結果如下:

hello good frank

Shell 指令碼 Sed命令的使用

sed是乙個很好的檔案處理工具,本身是乙個管道命令,主要是以行為單位進行處理,可以將資料行進行替換 刪除 新增 選取等特定工作,下面先了解一下sed的用法 sed命令列格式為 sed nefri command 輸入文字 常用選項 n 使用安靜 silent 模式。在一般 sed 的用法中,所有來自...

Shell指令碼sed命令

1 p命令 命令p用於顯示模式空間的內容。預設情況下,sed把輸入行列印在螢幕上,選項 n用於取消預設的列印操作。當選項 n和命令p同時出現時,sed可列印選定的內容。例子 plain view plain copy 1 sed my p datafile 預設情況下,sed把所有輸入行都列印在標準...

shell指令碼中sed的使用

sed語法格式 語法格式 sed 選項 編輯指令 檔名 選項 n 遮蔽預設輸出 i 直接修改檔案內容 r 啟用擴充套件正則 條件 1.行號 指令 p 輸出 print 例子 列印第一到四行 sed n 1,4p passwd 列印第三行,第五行 sed n 3p 5p passwd 列印第三行之後的...