Korzystanie vi zastąpić ciąg znaków w wielu plikach
Czasem warto zastąpić wystąpień ciągu wielu plików.
Nie jest to łatwy sposób to zrobić za pomocą edytora vi.
Ten przykład ilustruje siłę vi:
Załóżmy, że masz 100. Plików html, i chcesz wymienić wystąpienie ciągu "2007" z "2008".
W związku z tym, należy wykonać następujące w swoim wierszu polecenia:
vi *. html
Spowoduje to otwarcie wszystkich plików z rozszerzeniem ". Html" w bieżącym katalogu. Następnie wydajemy polecenie:
: Argdo% s/2007/2008/g | wq
To jest to! Powyższe polecenie pętli na każdym pliku, zastępując (%) Word 2007 z napisem 2008 na całym świecie (g) to będzie zapisać każdy plik (w) i wysiadania z niego (q).
Zauważ, że ciąg do znalezienia i ciąg użyć do zastąpienia można zastąpić wyrażenia regularne. Na przykład, karetki (^) odnosi się do początku linii, znak dolara ($) odnosi się do końca, itd. Tak więc, jeśli miały zastąpić każdej linii, począwszy od "próby", a kończąc na "test", jeden mogą korzystać:
:% S argdo / próbkę ^ .* test $ / g | wc
gdzie .* meczach nic pomiędzy dwoma ciąg.
Zauważ też, że może zrobić to znaleźć i zastąpić działanie bez poszanowania dla sprawy (tzn. szukaj "słowo" pasuje "słowo"). Zresztą, wystarczy wymienić "/ g" z "/ gi"
Niż dużo, to pomogło mi też.
Mam uwagę na stosunkowo małą liczbę wymian, monitowanie o zastąpienie może być również użyteczne.
:% S argdo / SEARCH_STRING / replace_string / gc | wq
z dodatkowym "c" na "potwierdzenie"
Jeszcze raz dziękujemy
Dzięki za podpowiedź, uratowałeś mnie sporo pracy z tym.
Musi być myślenie o jedzeniu to podczas pisania
Okrzyki
to karetka nie, marchew!