linux將查找的一行前面加#

linux將查找的一行前面加#
sed的部分使用方法
sed中的編輯命令:
a:追加 向匹配行後面插入內容
c:更改 更改匹配行的內容
i:插入 向匹配行前插入內容
d:刪除 刪除匹配的內容
s:替換 替換掉匹配的內容

SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;
SET @MYSQLDUMP_TEMP_LOG_BIN = @@SESSION.SQL_LOG_BIN;
SET @@SESSION.SQL_LOG_BIN= 0;
SET @@GLOBAL.GTID_PURGED='9d685-604b-11e9-9ebe-fa163e1a3084:1-12406,
9f657ca4-604b-11e9-a38b-fa163e4992cc:1-109499832';
用sed批量將多個sql文件中的這幾行註釋掉或者刪除
/
/
兩個這個組合代表多行註釋可以註釋掉多行
1.將匹配到的本行的最前面加個#
用法:sed -i '/xxx/ s/xxx/#\1/g'
#\1:格式代表將本行的第一個字符前面加#
^(.)$:格式代表匹配本行開始到結束至少一個到多個字符,【.】代表一到多個字符
例子:sed -i '/SQL_LOG_BIN/ s/^(.*)$/#\1/g' 11test.sql

2.將匹配到的本行的上面一行和下面一行加入註釋
用法:sed -i '/xx/i#xxx/';sed -i '/xx/a#xxbb/'
i:匹配行上面一行輸入
a:匹配行下面一行輸入
例子:
sed -i '/GLOBAL.GTID_PURGED/i\/*' 11test.sql
sed -i '/9f657ca4-604b-11e9-a38b-fa163e4992cc/a*\/' 11test.sql

3.將匹配到的行直接刪除掉
用法:sed -i '/xxx/d'
例子:
sed -i '/@@SESSION.SQL_LOG_BIN/d' 11test.sql ;
4.將匹配到的行以及所有後面的都刪掉
用法:sed -i '/xxx/,$d'
例子:
sed -i '/SQL_LOG_BIN/,$d' 11test.sql
用的如下組合命令:
sed -i '/SQL_LOG_BIN/ s/^(.)$/#\1/g' 11test.sql;sed -i '/GLOBAL.GTID_PURGED/i\/*' 11test.sql;sed -i '/9f657ca4-604b-11e9-a38b-fa163e4992cc/a*\/' 11test.sql
執行結果:
#SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;
#SET @MYSQLDUMP_TEMP_LOG_BIN = @@SESSION.SQL_LOG_BIN;
#SET @@SESSION.SQL_LOG_BIN= 0;
/

SET @@GLOBAL.GTID_PURGED='9d685-604b-11e9-9ebe-fa163e1a3084:1-12406,
9f657ca4-604b-11e9-a38b-fa163e4992cc:1-109499832';
*/
gp-eeds-cms@% 更改爲root@%的方法
#sed -i s/`gp-eeds-cms`\@`\%`/`root`\@`\%`/g eeds-cms.sql >/dev/null 2>&1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章