Hallo, Am Thu, 24 Feb 2005, Daniel Bauer schrieb:
On Thursday, February 24, 2005 7:54 AM, Daniel Bauer wrote: [...]
Ich möchte alle Zeichen außer A-Za-z/ in _ umwandeln, geht das?
On Thursday, February 24, 2005 8:26 AM, Anke Börnig wrote:
On Thursday, February 24, 2005 8:30 AM, Torsten Foertsch wrote:
echo -n 'x$%/^&*z' | tr -c a-zA-Z/ _; echo [..] On Thursday, February 24, 2005 8:32 AM, Jürgen Knelangen wrote: cat $foo | sed -e 's/[^A-Z^a-z^\/]/_/g'
Das ist falsch so, wie Christian schon angemerkt hat. Richtig ist also sed -e 's/[^A-Za-z/]/_/g' oder sed -e 's/[^[:alpha:]/]/_/g' (man achte auf die Position des '/' _IN_ den [] aber nach dem '^' und ausserhalb des '[:alpha:]'.
Vielen Dank an Euch alle, es ist einfach Wahnsinn wie viele "einfache" Lösungen es wieder gibt.
Es gibt noch ein paar mehr: | awk 'gsub("[^A-Za-z/]","_");' | awk 'gsub("[^[:alpha:]/]","_");' | awk '{ print gensub("[^A-Za-z/]","_","g");};' | awk '{ print gensub("[^[:alpha:]/]","_","g");};' | perl -pe 's/[^A-Za-z\/]/_/g;' | perl -pe 's/[^[:alpha:]\/]/_/g;' | perl -pe 's/[^\w\/\n]/_/g;' | perl -pe 'tr/A-Za-z\//_/c;' ## oder y///, ist dasselbe Von anderen Schleifenkonstrukten usw. in perl sehe ich mal ab. Perl ist aber fuer solche Einzeiler eher ineffektiv. -dnh -- select * from users where iq > 60; 0 rows returned