unexpand
- unexpand – narzędzie zamieniające znaki tabulacji na spacje w plikach lub danych wejściowych.
- Przydatne do standaryzacji formatowania kodu i tekstu, szczególnie w projektach wymagających używania spacji zamiast tabulatorów.
- Część pakietu GNU coreutils, dostępne w większości dystrybucji Linuksa oraz systemach UNIX.
Składnia
Dział zatytułowany „Składnia”unexpand [opcje] [PLIK...]
- Jeśli nie podano plików – odczytuje dane ze standardowego wejścia.
Parametry
Dział zatytułowany „Parametry”Parametr | Opis |
---|---|
-a , --all | Konwertuje wszystkie tabulatory w wierszu, nie tylko początkowe. |
-t, --tabs=N | Ustawia szerokość tabulatora na N znaków (domyślnie 8). |
--first-only | Konwertuje tylko wiodące tabulatory (domyślne zachowanie). |
--help | Wyświetla pomoc. |
--version | Wyświetla wersję programu. |
Przykłady użycia
Dział zatytułowany „Przykłady użycia”# 1) Zamiana wiodących tabulatorów na spacje w plikuunexpand plik.txt > plik_spacje.txt
# 2) Konwersja wszystkich tabulatorówunexpand -a kod.c > kod_spacje.c
# 3) Ustawienie szerokości tabulatora na 4 spacjeunexpand -t 4 dane.txt > dane_spacje.txt
# 4) Odczyt ze standardowego wejściaecho -e "A\tB" | unexpand -t 4
- Domyślnie
unexpand
konwertuje tylko wiodące tabulatory; opcja-a
jest konieczna do zamiany wszystkich. - Szerokość tabulatora (
-t
) wpływa na liczbę wstawianych spacji. - Wartość
-t
może być listą (np.-t 4,8
) określającą kolumny tabulacji. - Działa odwrotnie do polecenia
expand
.
Najczęściej spotykane błędy i jak je naprawić
Dział zatytułowany „Najczęściej spotykane błędy i jak je naprawić”Błąd / Komunikat | Przyczyna | Rozwiązanie |
---|---|---|
Zmieniona tylko część tabulatorów | Domyślnie konwertowane są tylko wiodące tabulatory. | Użyj opcji -a . |
Niewłaściwa liczba spacji po konwersji | Niepoprawnie ustawiona szerokość tabulatora. | Skorzystaj z -t N , by ustawić odpowiednią wartość. |
unexpand: command not found | Brak programu w systemie. | Zainstaluj pakiet coreutils. |
Linki i źródła
Dział zatytułowany „Linki i źródła”- man unexpand – oficjalna dokumentacja.
- GNU coreutils – unexpand invocation – opis opcji.