Mam plik o nazwie .ignore
. W razie potrzeby wymienić projdir
. Na przykład:
ignore \..*
ignore README
projdir Snake
Muszę zastąpić Snake'a na przykład „PacMan”. Czytam stronę podręcznika, ale nie mam pojęcia, co robić.
text-processing
sed
replace
Jakub Baski Gabčo
źródło
źródło
-i
, która jest,--in-place
wówczas przykład będzie bardziej samowydajny.Jednym z podejść jest przepisanie całej linii przy użyciu odwołań wstecznych dla części, które chcesz zachować:
Innym podejściem jest przepisanie tej części linii, ale tylko wtedy, gdy jakaś inna część pasuje:
Oba przykłady przepisują drugie słowo rozdzielane spacjami w wierszach, w których znajduje się pierwsze słowo
projdir
.źródło
Chociaż jest to stary post i wydaje się, że została rozwiązana przez zaakceptowaną odpowiedź, faktyczne pytanie nie zostało udzielone. Aby uzyskać kompletność i pomóc innym:
Tutaj odpowiedź, która faktycznie pasuje do „Węża”, a nie do linii zaczynających się na „projdir” ...
Zastępuje to wszystko od początku linii, w tym „Snake” wszystko przed „Snake” + „PacMan”. \ 1 oznacza to, co jest dopasowane w środku (). Wszystko po „Wężu” pozostaje nietknięte.
źródło
^ projdir to znalezienie linii zaczynającej się od łańcucha projdir. Tam. * $ Oznacza ciąg po projdir w linii tej samej linii. Ciąg projdir PacMan to ciąg, który zastępujemy. g jest dla globalnego - aby zastąpić wszystkie takie linie zaczynające się od projdir. .ignore to nazwa pliku
źródło