$ cat data
1 34566 34765
2 45678 45789
3 34567 34799
X 67895 66900
Y 34567 34890
Mit awk
:
$ awk '{print $1 "_M",$2,$3}' data
1_M 34566 34765
2_M 45678 45789
3_M 34567 34799
X_M 67895 66900
Y_M 34567 34890
mit sed
:
$ sed 's/^\S*/&_M/' data
1_M 34566 34765
2_M 45678 45789
3_M 34567 34799
X_M 67895 66900
Y_M 34567 34890
Erläuterung:
awk '{print $1 "_M",$2,$3}' data
druckt das erste Feld mit "_M" von 2. Feld gefolgt verkettet und dann 3. Feld. Beachten Sie, dass der Verkettungsoperator in awk
ein Leerzeichen ist.
Wie für den Befehl sed
:
sed 's/^\S*/&_M/' data
führt die Stellvertreter (s
Befehl) Ersatz
^\S*
=>\s
Leerzeichen bedeutet, bedeutet \S
non Leerzeichen, *
bedeutet 0 oder mehr. ^
ist ein Anker zu sicherzustellen, dass die Übereinstimmung vom Zeilenanfang beginnt.
&
in sed bedeutet, dass die gefundenen String
- daher kurz gesagt wir
^\S*
mit ^\S*_M
ersetzen.
Lesen Sie [fragen] dann tun Sie wie erforderlich, um eine Frage zu stellen. –
Bitte schauen Sie sich [editing-help] (http://stackoverflow.com/editing-help) an. – Cyrus