Co to jest polecenie CAT w systemie Linux i jak z niego korzystać
Polecenie cat
to najbardziej podstawowy sposób łączenia plików w systemie Linux. To skrót od conCATenation, ale to coś więcej niż tylko kopiowanie i wklejanie jednego pliku obok drugiego.
Podstawowy format polecenia CAT
W ten sposób zwykle używasz cat
polecenia:
cat file1 file2 file3 > output
Kolejność dołączania plików obok siebie jest oparta na kolejności, w jakiej pliki zostały zapisane w poleceniu. W tym przykładzie, kiedy otworzysz plik „wyjściowy”, po zawartości „pliku 1” pojawi się „plik 2”, a następnie „plik 3” i tak dalej.
Możesz dodać tyle plików, ile chcesz, o ile twój system plików może obsługiwać ostateczny rozmiar danych wyjściowych.
Ponadto, podobnie jak we wszystkich poleceniach terminala Linuksa, będziesz musiał dołączyć rozszerzenie pliku podczas ich dodawania. Na przykład, jeśli pracowałeś z plikami JSON i planowałeś połączyć dwa z nich razem, będziesz musiał wpisać to jak Ten:
cat file1.json file2.json > combined_file.json
CAT bez części wyjściowej
Dla cat
, część wyjściowa jest opcjonalna. Usunięcie tej części powoduje wydrukowanie zawartości każdego pliku w terminalu.
Możesz to również zrobić na pojedynczych plikach. Pamiętaj, że nie będziesz mógł tutaj edytować treści, tak jak w przypadku plików DOC lub TXT w edytorze tekstu . Polecenie cat
bardziej przypomina przeglądarkę plików tekstowych niż edytor.
Flagi poleceń CAT
Istnieje sześć flag, których możesz użyć za każdym razem, gdy używasz CAT w systemie Linux:
-
-n
wylicz każdą linię zaczynając od 1. -
-b
wyliczaj tylko te wiersze, które zawierają znaki. -
-s
ściśnij wiele kolejnych pustych linii w jedną pustą linię. -
-e
zaznacz koniec każdej linii. -
-q
nie wyświetlaj komunikatu, jeśli CAT nie może znaleźć pliku wejściowego. -
-t
wyświetlaj znaki tabulacji jako^I
.
Omówimy, jak każdy z nich działa i jak możesz z nich korzystać.
Użycie flagi -n
Flaga -n
wylicza zawartość pliku w wierszu i wyświetla ją na terminalu. Nie edytuje samego pliku.
cat -n file1.txt
Ale nadal możesz zapisać dane wyjściowe (z wyliczeniem), wykonując następujące czynności:
cat -n file1.txt > file2.txt
To wylicza zawartość „file1.txt” i zapisuje ją w „file2.txt”.
Możesz także wyliczyć wiele plików razem. Polecenie cat
będzie kontynuować odliczanie po zakończeniu pierwszego pliku. Jeśli pierwszy plik kończy się na 33, następny plik rozpocznie się na 34 i tak dalej.
Użycie flagi -b
Problem z -n
flagą polega na tym, że wylicza ona również puste wiersze. Jeśli masz plik z dużą ilością białych znaków dla układu lub czytelności, -b
zamiast tego będziesz potrzebować flagi.
cat -b file1.txt
Format flagi -b
działa tak samo jak flagi -n
. Ponadto, jeśli użyjesz tych dwóch razem, -b
flaga zastąpi -n
flagę bez względu na to, jak je zamówisz.
Użycie flagi -s
Flaga -s
to kolejna przydatna cat
flaga poleceń, gdy masz dużo białych znaków w plikach. Działa poprzez redukcję wszystkich powtarzających się białych znaków do jednego, co ułatwia czytelność.
cat -s file2.txt
Ta flaga szuka co najmniej 2 kolejnych pustych linii przed ich połączeniem. Jeśli twój plik zawiera pojedynczą pustą linię między dwoma wypełnionymi, pominie ją i poszuka następnej.
Użycie flagi -e
Flaga -e
znajduje koniec każdej linii i dodaje $
na końcu każdej linii.
cat -e file1.txt
Ta flaga ułatwia pracę z plikami tekstowymi, gdy używasz wyrażeń regularnych lub wyrażeń regularnych . Możesz mieć dodatkowy skrypt lub program odczytujący zawartość zapisanego pliku i sprawdzający końce za pomocą wyrażenia regularnego.
Pamiętaj, że -e
flaga dodaje również $
na końcu każdej pustej linii, więc możesz chcieć użyć tego obok, -s
aby wszystko wyglądało lepiej.
Użycie flagi -t
Flaga -t
jest podobna do -e
flagi, ale zamiast tego szuka „znaku tabulacji” i zastępuje go znakiem ^I
. Wspaniałe w tej fladze jest to, że wie, jak odróżnić „tabulację” od znaku „podwójnej spacji”.
cat -t file1.txt > file2.txt
Oznacza to, że jeśli użyjesz flag -n
lub -b
obok -t
flagi, odczyta znaki spacji takimi, jakie są i pozostawi je. To samo dotyczy dodania tony spacji, aby naśladować znak „tabulacji”.
Zastosowania poleceń Linux CAT
Polecenie cat
powinno być używane tylko wtedy, gdy próbujesz połączyć pliki tekstowe linia po linii. Nie oczekuj, że cat
polecenie weźmie dwa wiersze tekstu i połączy je w jeden wiersz.
Z drugiej strony zobaczysz, że jest to bardzo przydatne, gdy próbujesz wyczyścić pliki tekstowe, aby inne skrypty mogły pracować. Flagi -e
, -t
, -b
i -s
są wystarczająco przydatne, aby zaoszczędzić czas na kodowaniu własnego skryptu dla tego, co te flagi już robią.
Pomaga także ułatwić przeglądanie plików tekstowych w porównaniu z koniecznością ciągłego korzystania z edytora Nano .
Często Zadawane Pytania
Co się stanie, jeśli użyję polecenia CAT na pliku wideo?
Pliki wideo zawierają coś, co nazywa się „nagłówkiem”. Jest to informacja, która pokazuje, w jaki sposób wideo zostało zakodowane. Jeśli użyjesz polecenia CAT do łączenia filmów, zostaniesz z takim, które ma informacje nagłówkowe umieszczone pomiędzy zakodowanymi danymi wideo. Większość przeglądających to przeczyta i pomyśli, że plik został uszkodzony. Lepiej jest użyć innego narzędzia, takiego jak FFmpeg, aby zrobić to z plikami wideo.
Czy mogę używać polecenia Linux CAT z plikami z różnych folderów?
Możesz traktować swoje nazwy plików jako ścieżki folderów podczas łączenia plików w folderach za pomocą cat
polecenia. W ten sposób możesz połączyć plik na pulpicie z innym plikiem ze Zdjęć, robiąc to w następujący sposób: cat Desktop/file1.txt Photos/Photos.txt >> output.txt
.
Co się stanie, gdy użyję nazwy pliku istniejącego pliku jako danych wyjściowych polecenia CAT?
W zależności od tego, czy używasz >
lub >>
, nadpisze lub doda zawartość do istniejącego pliku. Polecenie >>
dołącza do pliku lub tworzy plik, jeśli nie istnieje. Polecenie >
zastępuje plik, jeśli istnieje, lub tworzy go, jeśli nie istnieje.
Aby uniknąć zgadywania, zawsze najlepiej jest zapisać dane wyjściowe w nieistniejącym pliku o unikalnej nazwie.
Dodaj komentarz