Voici le script qui :

  • transforme les lettres accentuées en lettres sans accent
  • transforme tout ce qui n'est pas alphanumérique 0-9A-Za-z en -
  • remplace les multi - en un seul -
#!/bin/bash

str1="©«°»¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜ_ok ! | [et] {la} (suite) \/ éèèë fonctionne ^1.2,3€^ ?..."
echo $str1

str2=$(sed \
-e s/[\\xc2\\x80\-\\xc2\\xbf]/-/g \
-e s/[\\xc3\\x80\-\\xc3\\x86]/A/g \
-e s/[\\xc3\\x87]/C/g \
-e s/[\\xc3\\x88\-\\xc3\\x8b]/E/g \
-e s/[\\xc3\\x8c\-\\xc3\\x8f]/I/g \
-e s/[\\xc3\\x90\-\\xc3\\x91]/-/g \
-e s/[\\xc3\\x92\-\\xc3\\x98]/O/g \
-e s/[\\xc3\\x99\-\\xc3\\x9c]/U/g \
-e s/[\\xc3\\x9d\-\\xc3\\x9f]/-/g \
-e s/[\\xc3\\xa0\-\\xc3\\xa6]/a/g \
-e s/[\\xc3\\xa7]/c/g \
-e s/[\\xc3\\xa8\-\\xc3\\xab]/e/g \
-e s/[\\xc3\\xac\-\\xc3\\xaf]/i/g \
-e s/[\\xc3\\xb0]/-/g \
-e s/[\\xc3\\xb1]/n/g \
-e s/[\\xc3\\xb2\-\\xc3\\xb8]/o/g \
-e s/[\\xc3\\xb9\-\\xc3\\xbc]/u/g \
-e s/[\\xc3\\xbd\-\\xc3\\xbf]/-/g \
<<< $str1)
echo $str2

str3=$(sed "s/[^[:alnum:]-]/-/g" <<< $str2)
echo $str3

str4=$(sed -e "s/--*/-/g" <<< $str3)
echo $str4
©«°»¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜ_ok ! | [et] {la} (suite) \/ éèèë fonctionne ^1.2,3€^ ?...
-----AAAAAAACEEEEIIII--OOOOOOOUUUU_ok ! | [et] {la} (suite) \/ eeee fonctionne ^1.2,3€^ ?...
-----AAAAAAACEEEEIIII--OOOOOOOUUUU-ok------et---la---suite-----eeee-fonctionne--1-2-3-------
-AAAAAAACEEEEIIII-OOOOOOOUUUU-ok-et-la-suite-eeee-fonctionne-1-2-3-