Chcę zmienić niektóre nazwy w pliku za pomocą sed. Jest to, jak plik wygląda następująco:sed zastąpić dokładny mecz
#! /bin/bash
SAMPLE="sample_name"
FULLSAMPLE="full_sample_name"
...
Teraz tylko chcę zmienić sample_name & nie full_sample_name korzystając sed
Próbowałem to
sed s/\<sample_name\>/sample_01/g ...
Myślałem \ <> mogą być wykorzystane do znajdź ścisłe dopasowanie, ale kiedy go użyję, nic się nie zmieni.
Dodanie "" pomogło zmienić tylko nazwę próbki. Jednak jest jeszcze inny problem teraz: moja sytuacja była nieco bardziej skomplikowana niż wyjaśniono powyżej, ponieważ mój sed polecenia jest osadzony w pętli:
while read SAMPLE
do
name=$SAMPLE
sed -e 's/\<sample_name\>/$SAMPLE/g' /path/coverage.sh > path/new_coverage.sh
done < $1
Więc sample_name powinien zostać zmieniony z wartości dołączonym do $ próbki. Jednak po uruchomieniu polecenia nazwa próbki zmieniono na $ SAMPLE, a nie na wartość dołączoną do $ SAMPLE.
Jaki system jesteś stronie i jaka jest twoja wersja sed? – anubhava
Co chcesz zrobić? Kilka przykładów podoba – nowox
GNU sed wersja 4.2.1 – user1987607