Jak używać polecenia csplit do dzielenia plików w systemie Linux
csplit to popularne narzędzie wiersza poleceń systemu Linux służące do dzielenia zawartości pliku na dwie części. Plik, który chcesz zmienić, musi być plikiem tekstowym z rozszerzeniem „ .txt ”.
Polecenie jest łatwe w użyciu i działa dobrze we wszystkich dystrybucjach Linuksa. Korzystając z różnych flag dostępnych dla csplit, możesz również modyfikować dane wyjściowe zgodnie z potrzebami.
Oto jak używać csplit do dzielenia pliku w systemie Linux.
Co to jest csplit?
Używany w systemie Linux i innych systemach operacyjnych typu Unix, csplit może podzielić plik na pojedyncze pliki określone przez linie kontekstu.
Podstawowa składnia polecenia to:
csplit [OPTION] [PATTERN]
csplit kontra split
Większość użytkowników Linuksa lubi używać polecenia split, jeśli chodzi o dzielenie pliku na wiele mniejszych plików. Problem z tym poleceniem polega na tym, że dzieli pliki na podstawie rozmiaru bajtów lub rozmiaru linii.
Nie jest to wykonalne w scenariuszach, w których chcesz podzielić pliki na podstawie ich zawartości, a nie rozmiaru. Wtedy na ratunek przychodzi csplit, który dzieli plik na części o stałym rozmiarze na podstawie zawartości, a nie liczby bajtów.
Jak zainstalować csplit w systemie Linux
csplit jest preinstalowany w prawie wszystkich dystrybucjach Linuksa. Jeśli jednak napotkasz błąd „csplit: nie znaleziono polecenia”, oznacza to, że narzędzie nie jest zainstalowane w twoim systemie. Aby zainstalować csplit na Ubuntu, wykonaj:
sudo apt-get install coreutils
W Arch Linux uruchom:
sudo pacman -S coreutils
Aby zainstalować csplit w Fedorze i RHEL:
sudo dnf install coreutils
Jak korzystać z csplit w systemie Linux
Aby zobaczyć, jak działa csplit, utwórz plik tekstowy w swoim systemie. Użyj polecenia dotykowego, aby utworzyć pusty plik.
touch filename.txt
Po utworzeniu pliku otwórz go za pomocą edytora nano, aby zmodyfikować jego zawartość.
nano filename.txt
Po dodaniu treści do pliku naciśnij Ctrl + X , a następnie Y , aby go zapisać i zamknąć.
Aby zweryfikować zawartość pliku za pomocą komendy cat, uruchom:
cat filename
Użyj polecenia csplit, aby podzielić plik
Aby zrozumieć, jak działa csplit, najpierw spójrz na zawartość użytego tutaj pliku jako przykładu.
Plik zawiera dziewięć wierszy o numerach od 1 do 9. Jeśli musisz podzielić plik na dwie części, jak powiesz csplit, którą zawartość wysłać do pierwszego pliku, a którą do drugiego? To łatwe. W poleceniu wystarczy powiedzieć csplit, od której linii rozpocząć podział.
Odbywa się to poprzez podanie numeru linii. Na przykład, jeśli chcesz podzielić plik z trzeciego wiersza słowem „Londyn”, w poleceniu wymienisz 3. Wpisz polecenie w ten sposób:
csplit filename.txt 3
To polecenie natychmiast podzieli plik na dwie części. Użyj ls polecenie, aby wyświetlić całą zawartość katalogu, aby zobaczyć pliki wyjściowe. Nowe pliki o nazwach xx00 i xx01 znajdziesz obok oryginalnego pliku.
Użyj polecenia cat, aby zweryfikować zawartość obu plików.
Jak widać, csplit podzielił plik na dwie części z trzeciej linii, jak określono w poleceniu.
Opcje polecenia csplit
Oto niektóre z opcji wiersza polecenia csplit, których możesz użyć:
1. Zmień prefiks dla plików wyjściowych
Znany również jako flaga przedrostka, -f modyfikuje przedrostek w nazwie pliku. Być może zauważyłeś, że kiedy csplit dzieli plik, nowo utworzone pliki mają przedrostek xx w nazwach plików. Możesz to zmienić, używając flagi -f w poleceniu.
Na przykład, jeśli chcesz, aby nazwy plików miały przedrostek abc zamiast xx , wydaj polecenie w następujący sposób:
csplit -f abc filename.txt 3
Jak widać, po podziale oba pliki mają przedrostek abc w nazwach.
2. Zachowaj pliki, gdy wystąpią błędy
Opcja -k lub –keep-files nie usuwa plików wyjściowych, jeśli w poleceniu csplit wystąpił błąd.
Wydaj następujące błędne polecenie:
csplit -k randomfile.txt 2 {3}
3. Zmodyfikuj liczbę cyfr w nazwie pliku
Korzystając z tej opcji, możesz powiedzieć poleceniu csplit, ile cyfr chcesz zobaczyć w nazwie pliku po prefiksie. Jest również nazywany flagą cyfr.
Wydaj następujące polecenie, aby zachować tylko jedną cyfrę w nazwie pliku:
csplit -n 1 randomfile.txt 2
Bez flagi -n domyślnie zobaczysz dwie cyfry w nazwie pliku.
4. Podziel plik bez wysyłania liczby rozmiarów
Znana również jako flaga ciszy, flaga -s po cichu dzieli plik bez wspominania o liczbie rozmiarów plików wyjściowych.
csplit -s randomfile.txt 3
5. Wyświetl pomoc dotyczącą wiersza poleceń
Aby zobaczyć szczegóły wszystkich opcji dostępnych dla csplit, użyj flagi -h lub –help w poleceniu.
csplit --help
6. Sprawdź numer wersji csplit
Aby zobaczyć, której wersji csplit używasz, wykonaj polecenie z flagą –version :
csplit --version
7. Pomiń określoną linię podczas podziału
Możesz także użyć opcji wiersza polecenia –suppress-matched , aby pominąć określoną linię podczas dzielenia pliku.
csplit --suppress-matched filename.txt 5
Podczas tworzenia dwóch plików csplit zignoruje piątą linię i podzieli plik od następnej linii.
Piąta linia w oryginalnym pliku zawiera słowo „Berlin”. W pliku wyjściowym słowo „Berlin” zostało pominięte.
Dziel pliki bez wysiłku za pomocą jednego polecenia w systemie Linux
Dostępnych jest wiele narzędzi wiersza poleceń do zarządzania plikami w systemie Linux. Jednym z nich jest csplit. Domyślnie jest dostępny we wszystkich systemach Linux. Jeśli nie, możesz po prostu zainstalować go za pomocą wiersza poleceń.
csplit to łatwy i skuteczny sposób na podzielenie pliku, gdy trzeba podzielić plik na podstawie jego zawartości. csplit jest wyposażony w różne opcje wiersza poleceń, które oferują elastyczność w dostosowywaniu danych wyjściowych do własnych potrzeb. Istnieje kilka narzędzi wiersza polecenia do przeglądania zawartości pliku w systemie Linux, jeśli chcesz sprawdzić pliki po podzieleniu.
Dodaj komentarz