Widziałem polecenie cat pojawiające się w niektórych rzeczach online i byłem ciekawy, co się stało cat
i do czego służy w kontekście kogoś, kto po prostu robi proste rzeczy z linii poleceń.
źródło
Widziałem polecenie cat pojawiające się w niektórych rzeczach online i byłem ciekawy, co się stało cat
i do czego służy w kontekście kogoś, kto po prostu robi proste rzeczy z linii poleceń.
cat
„s głównym celem jest con cat pliki enate. cat file1 file2 ...
pokaże zawartość file
, file2
a pozostałe jeden po drugim, tak jakby zawartość była w jednym pliku. Zobacz manpage :
NAME
cat - concatenate and print files
Jest przeznaczony do użycia, gdy:
polecenie docelowe nie może odczytać z plików i musisz przekazać do niego wiele plików. Przykładem jest tr
narzędzie. Zwykle za pomocą jednego pliku można wykonać:
tr < file
Ale w przypadku wielu plików nie można użyć przekierowania, więc musisz wykonać następujące czynności:
cat file1 file2 ... | tr
wc
wydrukowanie zliczeń dla każdego pliku wraz z nazwami plików, w których mógłbyś chcieć tylko sumy, bez nazwy pliku.Pamiętaj, że większość komend napotkania ( grep
, sed
, awk
, sort
, ...) można odczytać pliki perfekcyjnie.
Jeśli chcesz zobaczyć zawartość pliku, użyć pagera - less
i more
to zarówno wybitnie zdolna do prezentowania plików do oglądania, a są o wiele bardziej wygodne w użyciu.
< <(cat file[12]) tr
a także<<<$(cat file[12]) tr
oba są doskonale poprawnymi sposobami przekierowywania wielu plików. Oczywiście, że tego potrzebujeszcat
, tylko to, że orurowanie nie jest jedynym sposobem.cat
jest jednym z najczęściej używanych poleceń w systemach operacyjnych typu Unix. Ma trzy powiązane funkcje w odniesieniu do plików tekstowych:ogólna składnia kota to:
Odczytywanie plików
Najczęstszym zastosowaniem cat jest czytanie zawartości plików, a cat jest często najwygodniejszym programem do tego celu. Aby otworzyć plik tekstowy do wyświetlenia na monitorze wyświetlacza, wystarczy wpisać słowo cat, spację i nazwę pliku, a następnie nacisnąć klawisz ENTER. Na przykład następujące polecenie wyświetli zawartość pliku o nazwie plik1:
Powiązanie
Drugą rolą kota jest konkatenacja. (To jest źródło ciekawej nazwy kota.) Nie ma wpływu na oryginalne pliki.
Na przykład następujące polecenie połączy kopie zawartości trzech plików file1, file2 i file3:
Zawartość każdego pliku zostanie wyświetlona na ekranie monitora. Dane wyjściowe można równie łatwo przekierować za pomocą operatora przekierowania danych wyjściowych do innego pliku, na przykład file4, przy użyciu:
Tworzenie pliku
Dzięki komentarzowi @muru : cat jest w stanie tworzyć nowe pliki w zależności od funkcji przekierowania powłoki, a nie od siebie
W przypadku małych plików jest to często łatwiejsze niż korzystanie z vi, gedit lub innych edytorów tekstu. Dokonuje się tego poprzez wpisanie cat, po którym następuje operator przekierowania wyjścia i nazwa tworzonego pliku, a następnie naciśnięcie ENTERi wreszcie jednoczesne naciśnięcie klawiszy Ctrl& d.
Na przykład można utworzyć nowy plik o nazwie plik1, wpisując
następnie naciśnij ENTERi jednocześnie naciśnij klawisze Ctrl& d.
PS1: Jeśli plik o nazwie plik1 już istnieje, zostanie zastąpiony
PS2: możesz dołączyć do wychodzącego pliku za pomocą operatora dołączającego
>>
przykład cat >> plik1Kopiuj pliki
Polecenia cat można także użyć (w zależności od funkcji przekierowania powłoki) do utworzenia nowego pliku i przesłania do niego danych z istniejącego pliku. Przykład: wykonaj kopię pliku
oldfile.txt
:Bibliografia:
źródło
cat
nie tworzy tych plików - powłoka jest, gdy używasz przekierowania. Równie dobrze mógłbyś to zrobićecho foo > file1
.cat
tego, co faktycznie robi coś innego. Na przykład, robiless file1 > file2
(albogrep '.*' file1 > file
alboawk 1 file1 > file2
albo ...) ma ten sam efekt. To samo dotyczy 4. To tylko niewłaściwe użycie.> file
i dać taki sam wynik, ale czy nie mogę uznać za zasadne zrobić to z kotem ?!cat
nie tworzy pliku. Powiedzeniecat
tworzy lub kopiuje plik jest po prostu fałszem.Można go użyć do wyświetlenia zawartości pliku. Np
cat "my file.txt"
. : Możesz także zrobić,man cat
aby wyświetlić szczegółowe informacje o tym, do czegocat
można użyć.źródło
Oto inny sposób tworzenia plików przy użyciu przekierowania powłoki (lub potokowania) i
cat
:cat << EOF
wyświetli następujące wiersze, aż łańcuchEOF
zostanie ponownie napotkany. Następnie>
(>>
) przekieruje dane wyjściowe do plikufoo.sh
. Alternatywnie, jeśli chcesz utworzyć plik jako root, możesz przesłać dane wyjściowe do poleceniatee
(tee -a
), wykonanego przez poleceniesudo
:chmod +x
), jeśli zostanie pomyślnie utworzony (&&
).$
) powinno być poprzedzone znakiem (z\
) w danych wyjściowychcat
.źródło