Ich möchte einige Namen in einer Datei mit sed ändern. Dies ist, wie die Datei wie folgt aussieht:sed exact exact match
#! /bin/bash
SAMPLE="sample_name"
FULLSAMPLE="full_sample_name"
...
Jetzt will ich sample_name & nicht full_sample_name ändern nur
sed ich mit dieser versucht
sed s/\<sample_name\>/sample_01/g ...
Ich dachte \ <> könnte verwendet werden, finde eine exakte Übereinstimmung, aber wenn ich das benutze, wird nichts geändert.
Hinzufügen '' half, nur den sample_name zu ändern. Allerdings gibt es ein weiteres Problem ist jetzt: meine Situation etwas komplizierter war als oben erläutert, da mein sed Befehl in einer Schleife eingebettet ist:
while read SAMPLE
do
name=$SAMPLE
sed -e 's/\<sample_name\>/$SAMPLE/g' /path/coverage.sh > path/new_coverage.sh
done < $1
So sollte sample_name mit dem Wert $ SAMPLE angebracht geändert werden. Wenn Sie den Befehl ausführen, wird sample_name jedoch in $ SAMPLE geändert und nicht in den Wert, der an $ SAMPLE angehängt ist.
Welche System sind Sie auf und Was ist deine Sed-Version? – anubhava
Was möchten Sie tun? Einige Beispiele bitte – nowox
GNU sed Version 4.2.1 – user1987607