Chciałbym przenieść ścieżkę w pliku na początek pliku. Każda ścieżka jest wymieniona 1 na linię. Jak się ruszam /someplace/2nd/
do góry używając tylko linii poleceń?
/someplace/1st/
/someplace/2nd/
/someplace/3rd/
Więc kończę
/someplace/2st/
/someplace/1nd/
/someplace/3rd/
Odpowiedzi:
Odkąd użyłeś
vim
tag Zakładam, że masz na myśli linię poleceń Vima. Jeśli tak jest, to polecenie to zrobi.gdzie ten ostatni znak to zero. Widzieć
W przypadku, gdy miałeś na myśli linię poleceń powłoki, możesz użyć
vim
aby edytować plik za pomocą tego polecenia.Widzieć
źródło
:/^\/someplace\/2nd\/$/m0
, bez używania:g
, powinno wystarczyć, może z krótszym wzorem.Tradycyjnym sposobem edycji plików na miejscu nieinteraktywnie jest użycie
ed
:To wysyła 3 polecenia do
ed
edytor tekstu uruchomiony na pliku$file
:/regular_expression/m0
: szukaj dopasowania liniiregular_expression
i przenieś go do pozycji 0w
: napisz plikq
: porzucićźródło
źródło
Może to działać dla ciebie (GNU sed):
źródło