2016-08-28 38 views
1

我有一個包含以下bash腳本:如何刪除特定模式與SED的bash

#!/bin/bash 
############################################################## 
# LOCAL COLORS            # 
############################################################## 
export nc="\e[0m" 
export underline="\e[4m" 
export bold="\e[1m" 
export green="\e[1;32m" 
export red="\e[1;31m" 
export yellow="\e[1;33m" 
export blue="\e[1;34m" 
export cyan="\e[1;36m" 

,當我打開日誌:

$ echo "${red}############${nc}" | tee log 

人物從變量的出現,讓我一直試圖刪除它使用的sed這樣的:

sed -i 's|\e[1;31m||g' log 

但始終我有以下錯誤:

的sed:-e表達式#1,焦炭10:未結束的'S'命令

我會感謝您的幫助,這 感謝

回答

1

sed你可能需要逃脫在\e[

sed -i 's|\\e\[1;31m||g' 

否則他們得到的誤解,將打破模式。

1

我建議使用:

sed -i 's|\x1b\[1;31m||g' log