Wie dekodiert man eine URL-codierte Zeichenfolge in der Shell?

Ich habe eine Datei mit einer Liste von user-agents, die codiert sind.
E. g.:

Mozilla%2F5.0%20%28Macintosh%3B%20U%3B%20Intel%20Mac%20OS%20X%2010.6%3B%20en

Ich möchte ein shell-script kann diese Datei Lesen und schreiben in eine neue Datei mit dem entschlüsselten strings.

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en

Habe ich versucht, dieses Beispiel zu verwenden, um es zu bekommen zu gehen, aber es ist nicht so weit.

$ echo -e "$(echo "%31+%32%0A%33+%34" | sed 'y/+//; s/%/\\x/g')"

Mein Skript sieht wie folgt aus:

#!/bin/bash
for f in *.log; do
  echo -e "$(cat $f | sed 'y/+//; s/%/\x/g')" > y.log
done

InformationsquelleAutor der Frage user785717 | 2011-06-06

Schreibe einen Kommentar