2016-05-17 163 views
3

我有一個SQL文件,在某些列中包含一些BLOB值。如何用腳本更新BLOB值(MySQL文件)?

使用sed,我試圖找到並將所有包含「https://example.com」的值替換爲「localhost:8888/example」,但似乎不起作用。

sed -i '.bak' 's/https:\/\/example\.com/localhost:8888\/example/g' db_file.sql 

有關如何更新「BLOB」中的值的任何想法?

例如,我在列的BLOB之一,當文本閱讀,如下:

s:20:"https://example.com"; 

改造成:

s:20:"localhost:8888/example"; 
+2

必須包括你想這不是什麼工作的一個最小的例子。 –

+0

請包含'db_file.sql'的示例行 – Kaii

回答

1

這看起來像PHP序列化的數據,s意味着它是一個字符串,而20是字符串的長度,所以你必須改變長度以及替換。
所以替換將像

s:22:"localhost:8888/example";