Przejdź do treści

Usunąć sekwencje escape ANSI

Usunąć kolory ANSI i kody sterowania kursorem z wyjścia terminala, zostaje czytelny tekst.

Wejście

Usunąć sekwencje escape ANSI

Wklej fragment wyjścia terminala, log builda z CI albo wydruk konsoli, a narzędzie wyciągnie z niego sekwencje escape ANSI ukryte pod tekstem i zostawi czysty, czytelny zapis. Obsługuje kody SGR (kolory, pogrubienie, podkreślenie), sekwencje ruchu kursora i czyszczenia ekranu oraz kody OSC dla hiperłączy i tytułów okien — czyli niewidoczne bajty, które zamieniają się w krzaki w rodzaju "^[[32m", gdy kolorowy log trafi tam, gdzie nikt go nie renderuje.

Opcja "Usuń tylko kolory" kasuje wyłącznie kody SGR i nie rusza reszty; przydaje się, kiedy surowy strumień ma jeszcze gdzieś zostać odtworzony. "Konwertuj kolory na" zamienia kasowanie na przepisanie do Markdowna lub HTML: pogrubienie, kursywa i podkreślenie przechodzą w obu formatach, ale kolory pierwszego planu zapisze tylko HTML jako styl inline — Markdown nie ma dla koloru żadnego zapisu. "Złóż przemalowane linie" jest pomyślana o paskach postępu i spinnerach, które nadpisują tę samą linię przez carriage return; w wyjściu zostaje jedynie ostatni stan linii zamiast każdego kroku pośredniego. "Konwertuj hiperłącza terminala na zwykły tekst" zdejmuje otokę OSC 8 z klikalnych odnośników, zachowując ich widoczny tekst.

Końce linii z Windowsa (CRLF) i uniksowe (LF) narzędzie traktuje tak samo, radzi sobie z wyjściem builda grubo powyżej 100 000 znaków, a licznik pod wynikiem podaje znaki na wejściu, znaki na wyjściu i liczbę usuniętych sekwencji escape.

Wszystko działa w przeglądarce. Wyjście terminala i pliki logów możesz więc wkleić nawet z wewnętrznymi hostami, ścieżkami czy stack trace — nic nigdzie nie jest wysyłane. Oczyszczony tekst skopiuj, pobierz jako plik .txt albo przekaż na wejście kolejnego narzędzia i sprzątaj dalej.

Częste pytania

Co liczy się jako sekwencja escape ANSI?
Jakakolwiek sekwencja bajtów zaczynająca się od znaku ESC (0x1B), którą terminale używają jako instrukcje zamiast widocznego tekstu — kody SGR dla kolorów i pogrubienia/podkreślenia, kody CSI dla ruchu kursora i wymazywania, oraz kody OSC dla hiperlinków i tytułów okien. Narzędzie rozpoznaje i usuwa wszystkie z nich.
Czy mogę zachować kolory zamiast je usuwać?
Tak — ustaw "Konwertuj kolory na" na Markdown lub HTML zamiast Usunąć. Pogrubienie, kursywa i podkreślenie są zachowywane w obu; kolory pierwszego planu są przenoszone tylko do HTML, ponieważ Markdown nie ma natywnego sposobu wyrażania koloru.
Co dzieje się z paskami postępu, które w kółko przemalowują tę samą linię?
Domyślnie każde przemalowanie przez carriage return zostaje w wyjściu jako surowy tekst. Włącz "Złóż przemalowane linie", aby zachować tylko końcowy stan każdej linii — pasek postępu zwinie się wtedy do swojego finalnego "100%" zamiast każdego kroku pośredniego.
Czy klikalne hiperłącza terminala przetrwają?
Tak. Z "Konwertuj hiperlinki z terminala na zwykły tekst" włączonym (domyślnie), wrapper OSC 8 jest usunięty, ale widoczny tekst hiperlinku pozostaje w wyjściu. Wyłącz go aby pozostawić te kody bez zmian.
Czy moje wyjście terminala albo plik logu jest gdzieś wysyłany?
Nie. Usuwanie kodów ANSI odbywa się całkowicie w przeglądarce — dzienniki i wyjście konsoli, nawet z wewnętrznymi ścieżkami lub hostami, nigdy nie opuszczają urządzenia.