/ / zawiera nawiasy przy użyciu sed - bash, sed

w tym nawias przy użyciu sed - bash, sed

W BASH, gdy używamy polecenia sed. jeśli muszę wymienić słowo "grzech" na "grzech (x)", co mam zrobić? Przyjmowanie nawiasu jako czegoś innego i otrzymuję błąd

przykład:

sed -i "3s/.*/xaxis label " "Time (fs)" /" sigma.bfile

(Mogłem uciec przed cudzysłowami, ale nie (lub))

Odpowiedzi:

0 dla odpowiedzi № 1

Używanie kolorowania składni może pomóc:

sed -i "3s/.*/xaxis label " "Time (fs)" /"
1                   2 3         4  5

Podwójny cudzysłów 3 kończy podwójny cudzysłów 1, czyli ciąg Time (fs) pojawia się niecytowana. Podwójne cudzysłowy nie są zagnieżdżone, nawiasy mają specjalne znaczenie w powłoce. Czy na pewno chcesz zakończyć cytowany ciąg przez podwójny cytat nubmer 3?

Prawdopodobnie chciałeś właśnie

sed -i "3s/.*/xaxis label "Time (fs)"/"

co może być jeszcze prostsze, jeśli zastąpisz podwójne cudzysłowy pojedynczymi cudzysłowami

sed -i "3s/.*/xaxis label "Time (fs)"/"