日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

文件字符串变量插入linux,Linux Shell脚本实现在文件指定的行插入字符串

發(fā)布時(shí)間:2024/8/23 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 文件字符串变量插入linux,Linux Shell脚本实现在文件指定的行插入字符串 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

涉及知識(shí)點(diǎn):grep字符串查找,awk截取列,until條件操作,sed字符串插入,變量與字符串連接等。

人工操作(首先vim打開文件找到字符串所在的位置,插入操作):

vim?/etc/glance/glance-api-paste.ini

#?Line69

auth_host?=?controller

admin_user?=?glance

admin_tenant_name?=?service

admin_password?=?94fbb57c427f539b0fc5

Shell腳本實(shí)現(xiàn)(grep查找字符串位置,sed執(zhí)行插入操作):

num=$(grep?-n?'\[filter:authtoken\]'??/usr/share/glance/glance-api-paste.ini?|?awk?-F?':'?'{print?$1}')

nump=1p

until?[[?$(sed?-n?"$nump"?/usr/share/glance/glance-api-paste.ini)?==?""?]];?do

num=$(expr?$num?+?1)

nump=$num"p"

done

numa=$num"a"

sed?-i?'$numa?auth_host?=?controller

admin_user?=?glance

admin_tenant_name?=?service

admin_password?=?94fbb57c427f539b0fc5'?/usr/share/glance/glance-api-paste.ini

注:

已無害化處理。

sed中的sub命令如a插入,p打印等不能直接跟變量相連接,使用雙引號(hào)進(jìn)行連接,如“numa=$num"a"”。

blog.51cto.com 標(biāo)簽: shell,sed,grep,字符串操作,變量與字符串連接

附加:

14:51 2014/10/27

修正一個(gè)bug,此bug導(dǎo)致sed處理多行時(shí)沒有正確換行,修復(fù)方法為在換行時(shí)添加換行符“\”修復(fù)腳本如下:

sed?-i?'$numa?auth_host?=?controller\n\

admin_user?=?glance\n\

admin_tenant_name?=?service\n\

admin_password?=?94fbb57c427f539b0fc5'?/usr/share/glance/glance-api-paste.ini

總結(jié)

以上是生活随笔為你收集整理的文件字符串变量插入linux,Linux Shell脚本实现在文件指定的行插入字符串的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。