2015-10-07 13 views

Odpowiedz

12

Jeśli spojrzeć w tym samym menu. Kliknij "Konwertuj na UTF-8".

3

Możesz rozwiązać problem za pomocą vima, skąd możesz łatwo uzyskać dostęp za pomocą MinGW-w64 (jeśli zainstalowałeś Gita to przychodzi) lub Cygwin.

Więc kluczem jest użycie:

  • Opcja -s, który będzie wykonywał skrypt vim z poleceń Vima.
  • Opcja -b, który będzie otworzyć plik w trybie binarnym, gdzie można zobaczyć te niewygodne BOM bajty
  • Opcja -n, co jest bardzo ważne! Ta opcja odmawia użycia plików wymiany, więc cała twoja praca działa w pamięci. Daje to pewność, ponieważ jeśli plik jest duży, pliki wymiany mogą wprowadzać w błąd proces.

To powiedziawszy, przejdźmy do kodu!

  1. Najpierw trzeba stworzyć prosty plik o nazwie „script”, która będzie trzymać poleceń vim

    echo 'gg"+gPggdtCZZ' > script 
    

    ... ten dziwny ciąg mówi vim "Przejdź do początku plik, skopiuj pierwsze słowo i wklej go za kursorem, aby usunąć wszystko aż znak „C”, a następnie zapisz plik "

    Uwaga: Jeśli plik zaczyna się od innego znaku niż«C», to mieć aby to określić. Jeśli masz różne "pierwsze znaki", możesz postępować zgodnie z logiką i utworzyć skrypt bash, który odczyta pierwszą postać i zastąpi ją w powyższym fragmencie.

  2. Uruchom komendę vim:

    vim -n -b <the_file> -s script 
    
+0

Nie mam pojęcia dlaczego, ale to działa na mnie. Dzięki! –

+1

Jeśli chcesz używać Vima, to polecenie jest znacznie prostsze: 'vim " + set nobomb "" + wq "'. W ten sposób nie musisz znać pierwszej widocznej postaci pliku. –

+0

Czy możesz rozwinąć pliki wymiany, które powodują problemy z twoim skryptem? Czy nie powinien być przezroczysty? –