2009-04-23 12 views

Antwort

3

führen Sie es durch tr?

Nur Spaß. Sie können die y/// Transformation verwenden, um Änderungen vorzunehmen. Es ist nicht besonders praktisch, aber es ist funktional. Wenn Ihre Transformation zu komplex wird, sollten Sie eine Eskalation zu Perl in Betracht ziehen.

1

Ich weiß, das ist eine sed Frage wollte nur darauf hinweisen, gibt es mehrere Möglichkeiten, um diese Funktion zu tun. awk ist ein Werkzeug, das für Textkonflikte entwickelt wurde und in einigen Fällen einfacher zu verwenden ist. Meiner Meinung nach ist dies eine dieser Zeiten:

#!/bin/sh 
INFO="This is a test" 
ALLCAPS=`echo $INFO | awk '{print toupper($0)}'` 
echo $ALLCAPS 

Ausbeuten: DIES IST EIN TEST

13

Surround Ihr passendes Muster in Klammern dh: \ (Muster \) und verwenden Sie dann \ U \ 1 als Ersatz Text. \ 1 ist das passende Muster und \ U erzwingt Großbuchstaben.

echo abcdef | sed -e 's/\(abc\)/\U\1/' 
+2

[Relevanter Abschnitt der Sed-Dokumentation] (http://www.gnu.org/software/sed/manual/sed.html#The-_0022s_0022-Command). –

+1

Dies half mir, eine Textzeile teilweise zu verkleinern, wobei ein Doppelpunkt den Anfang des Textes als in der Unterform markiert markierte: 's # \ (^. *: \) \ (. * \) # \ 1 \ L \ 2 # ' –

Verwandte Themen