1

I need to replace a complex string in several files in a directory.

The string that needs replaced is:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQoAAAAkCAAAAABUcSvnAAAHbklEQVRo3u2Ya0xURxTHR9Yt6CJdLSU0hFoxPhIS41ujDex+MATdaLElpS3EVCtpaqNVjEYqgoY0SI2iranBR03aoHW7TROrtkq6rWJFm6rhYdUgGjE2xLdZWUTgds45c+c+9oFYsF/2JMw9e+ec/5z5cR8zl7GIRSxiEYtY39pg58LCwsJlGYNNfm9t0nuYGh8u5j/I951Nb0ary4mGX/QD3ZkNtx76/f5HdxqmGPwjFFMxAoLS0a+UQh6Px8WzPdLY2JOtDzC1ZT7bxyNOejxlkLqvWdg+xmbUqfLTWGyFKOjDqFyev55RC+F1Hk9FCk+1OIR4jmW6qtKszShlL/UW2VjU7DpRbRyTkc1HKnISooKgcCjCFsMvch3getUOpdjgq16jjQcVo3vOLCTDFfa1dL1SpnGoTt7L2E8ypop9rrq+UcXYW2xIvTKSj+RTYxwObSDVhl5RT5Wy12Tkdl1NIJMeDsUZ/mMUuR+oKNrOt0kUt4Uv5WZIFO0GoSsGFChzuc0wH2WBEYU2FMVcPnSbtx8FQ6EUqYPiPyYIihk69th9qAZ9AwqcbVAUP/O/xwPkdNarKGpH1EoUW4UPAd3QrOJBVZSQpAphh4X5fH5w/D4fyYyqlfPBiA0kf/8Et636oShmU+JJGMqMAlMPE4o/J+yQKM6DjHFCExZrKBKzJIpljZAKmUdDocCrIZmxOTSzgyoKKqHY0EJAzQPe7NLuojmq0DH1/nKojiZDbU2rdiV4RQ3mmBIayozi+jW4Ypg4s7SpqWmpHMY0ITaN91YJ3yFROHAMyD8WCgW7S4oFNLOLWn15RUVFaQIC+RBQ8r2YyDlKKFCFXoHmnUAUkJpH0/yKBghEoYsJjsJbSHcCnRmelpY2PCQKO++dGAbFvZAoTvEmlwZxKsoTtb7Tulq3CR9RfCI64T64qSjlUugSbz41o9DLlOQqOIAZhSEmBIrZIBorzmjVB0Oh94OhUEKiOMSbdYzBXVTG/6aImro76r8pnTcU/a6O0+gjCid08tcaPpYU5XcpdASvHxMKLuPelJdE05xKhZhRYMy8hLAoBkBqej+jKKMZYB3tipJleJkuNviIIpXU8BmzRFFapNBm3nypr/EHmbqL5AfRc8mMQn0/hEPB7qNo/6Io0aE4qyireccK3VpihWldUWIlNaqE/9n0Qkf1Neb6jOuKEqrJgEKTPxgexennhGIjYx38MOsXejlEp2St3v/XI5y+3lfkfBjLhDfmq7x5XS/k1ddoHZGxeiemhkYRnZIh5L3hUUCb8RxQeOmR6NjC33iy2yvufc3XowDRU+DnhERhfl0GQxEYEwbFqn5GsZHeT+BP57O51QsUXnYRQ54HilNYQb+iGN6I0Wngx8AraxhjsXa7PVZMH/xBOhQbl5Daflys/MrfIkLIfsyMQpOh+Xw2S0NxfAhXDRITAsXxmX580ZlRZNrtfYcCVoCKm7kwZipNYk99ff0eMX3wl+pQ+BTtjVgOO66zQqheMaPQZGg+TT4NRetRrhokJgSKVkx9PwBFbX1936FAW85WwraIxfF2UfiFN9odxs5j3SW4IdOEvgi38EZrS1b94l4svMnGBaAwTqwPUFxIwDH4qq8biukRRSffI7bjmXd5O1YTuju+JxRde8Vaort7XS9RdFVHB6Lo7u5bFAeHsJ2wb3M6L+n2SyFQPGk+7GJsILhrnMt5O1sK3RvNekKxRZy/t2Ozq5covotlASiOb97cdyh2wp5vGY6Hu2ulOTyKvzc4Y3juGEUmrEAh8P0Te0RRJc6fTec28alRgPqJGLkd47m0HfsYZBizw8GubsdQ+RlQLNkFTyXdDakEoihn2veKTQNNzxm+WYMfT/7hzY9hUUBE23TxuaYJt9IBMdvG1QZD0QIjZAdu0ltAhuG+vGla4CZ93KLeoOiAZeZV1gkX7c2bN/hhEg7e6euUKDp8XRKFWGlk4tvn5nW+TjxBQnCvdM01oyAZms+Wq7z544WAr1hqDHxFeuKHofIK8XSHXI//doY3115ka+V5w1csMSSuCPDTkVgd+B/zpro3z4r2BTTLzMy5/PAWOyBHWaPzV+pRrIK0+Zkz3Ypym4SGAcaaOB2K3TL1AF1i+E3kTQOKb2XMbpbfLtyGZKfqtr9NlwwUxtcVGdr5ICiSbyjykZTcoEYWPgWKVLewXKsNDqmMwfENNt7dSp8qK0fr/JEMgrIpN5u728WRhFgphKXxq7WR2zTeN7qSPru2usezUkhNaMV1Wak6bimvQY3hQ9ny6XTlZGbNrwaVxjMFNgwvtcFlcfVlawGdry6wyerdYia8fJcbexvLkxibXEm9+UOx7lSUyab4ALPECYtiUXCw8HP8EM3bxDEulyspAb5sxyVOVv046sVtFHdt4khCzHb9lsfFH23WeG5WCLIlgMyYRH6p2DB1+cMLa1PQR7PpYmxaQejaQSX+JSul2tjcRy1loy3MSuftVq36OJHIy4+Kw974GBydei1UtwVloim+3y3L2VNE/ML4Z1ZfFs8iFrGIRSxi/6/9C8Ubb5YmcgHHAAAAAElFTkSuQmCC

With: ./logo.jpg

I'm having all kinds of issues using sed for the replacement due to the various special characters in the string that needs replaced.

2
  • For the given string, you could use sed with another delimiter: sed 's|yourstringgoeshere|./logo.jpg|'. Commented Dec 7, 2014 at 12:58
  • There aren't really any special characters in that string. As sed supports nearly any character as delimiter, you only need to pick something that is not contained in the string you search for or that you want to replace it with. In your case, probably | or _ should work, just tested. For more details see grymoire.com/Unix/Sed.html Commented Dec 7, 2014 at 13:04

1 Answer 1

0

How about a regular expression:

sed -r -i 's/(data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQoAAAAkCAAAAABUcSvnAAAHbklEQVRo3u2Ya0xURxTHR9Yt6CJdLSU0hFoxPhIS41ujDex).*(HHAAAAAElFTkSuQmCC)/.\/logo.jpg/g' filename

Look for the beginning and the end of the string and replace with .\/logo.jpg in filename.

Use -i to replace the content in the filename.

1
  • Nope.. doesn't seem to work. Commented Dec 23, 2014 at 22:41

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.