[英]replace character from file in matched strings lines only
我正在嘗試在特定字符串匹配的單行中替換文件中的“$”字符。 就我而言,我有一個如下文件
WHENEVER SQLERROR EXIT 1 ROLLBACK;
WHENEVER SQLERROR EXIT 1 ROLLBACK;
SET DEFINE OFF
DECLARE
g_GITvision varchar2(100) := '$Testversion: 1234 $';
sql code
sql code
我想從與“g_GITvision”開頭匹配的唯一行中刪除“$”。 到目前為止嘗試過
sed -e 's/\(\^g_GITvision\)\$/\\' file
任何幫助都將不勝感激。
您可以使用
sed '/^g_GITvision/s/\$//g' file > newfile
這里,
/^g_GITvision/
- 查找以g_GITvision
開頭的行s/\$//g
- 替換該行上的所有$
字符。 請參閱在線sed
演示:
s='WHENEVER SQLERROR EXIT 1 ROLLBACK;
WHENEVER SQLERROR EXIT 1 ROLLBACK;
SET DEFINE OFF
DECLARE
g_GITvision varchar2(100) := '"'"'$Testversion: 1234 $'"'"';
sql code
sql code'
sed '/^g_GITvision/s/\$//g' <<< "$s"
Output:
WHENEVER SQLERROR EXIT 1 ROLLBACK;
WHENEVER SQLERROR EXIT 1 ROLLBACK;
SET DEFINE OFF
DECLARE
g_GITvision varchar2(100) := 'Testversion: 1234 ';
sql code
sql code
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.