有些時候需要使用變量,來達(dá)到更加客觀的輸出結(jié)果,或替換某文件中的文本。就用變量替換,大地在寫一個shell腳本的時候,嘗試網(wǎng)上搜索,發(fā)現(xiàn)很多都說在sed使用變量的語句,單引號換成雙引號即可,顯然的,這篇文章介紹的,還有更多的方法。
先來介紹一下sed中使用變量替換。 1、sed命令使用雙引號的情況下,可以使用$var(變量)直接引用:
2、sed命令使用單引號的情況下,可以使用'"$var"'引用(單引號,然后雙引號,變量):
sed中執(zhí)行外部命令。 1、sed命令使用單引號的情況下使用'`shell command`'或者'$(shell command)'引用命令執(zhí)行的結(jié)果:
# 上面的命令使用了舊式的命令替換,也可以采用新式的命令替換方法,如下:
# 下面例子取用當(dāng)前日期作為結(jié)果的一部分,如下:
2、sed命令中使用雙引號的情況下,直接`shell command`或者$(shell command)引用命令執(zhí)行。
# 使用環(huán)境變量$RANDOM以及舊式命令替換的例子:
總結(jié)一下 在sed語句里面,變量替換或者執(zhí)行shell命令,雙引號比單引號少繞一些彎子;所以,sed和變量的關(guān)鍵詞搜索的結(jié)果,眾多都寫上替換單引號為雙引號。 額外再來一個例子,大地在寫一個shell腳本的使用,用的是如下方法來替換。
很多時候,也許因為內(nèi)容中也有雙引號或單引號,所以,上面介紹的眾多方法,在不確定的情況下,可以分別嘗試使用。方法倒是其次,至少得先確保你的腦子不會成為一團(tuán)漿糊,找到自己熟悉的。 轉(zhuǎn)載請注明:大地博客 ? sed 使用變量替換和執(zhí)行外部命令 |
|
來自: SamBookshelf > 《工具》