Wat is het CAT-commando in Linux en hoe het te gebruiken
De cat
opdracht is de meest basale manier van Linux om bestanden samen te voegen. Het is een afkorting voor conCATenation, maar er komt meer bij kijken dan alleen het ene bestand naast het andere kopiëren en plakken.
Basisformaat voor het CAT-commando
Dit is hoe je normaal gesproken de cat
opdracht gebruikt:
cat file1 file2 file3 > output
De volgorde voor het naast elkaar toevoegen van bestanden is gebaseerd op de volgorde waarin u de bestanden binnen de opdracht hebt geschreven. In dit voorbeeld, wanneer u het “uitvoer” -bestand opent, wordt de inhoud van “bestand1” gevolgd door “bestand2”, vervolgens “bestand3”, enzovoort.
U kunt zoveel bestanden toevoegen als u wilt, zolang uw bestandssysteem de uiteindelijke grootte van de uitvoer kan ondersteunen.
Net als bij alle Linux-terminalopdrachten, moet u ook de bestandsextensie opnemen wanneer u ze toevoegt. Als u bijvoorbeeld met JSON-bestanden werkte en van plan bent om twee van deze samen te combineren, moet u deze typen als dit:
cat file1.json file2.json > combined_file.json
CAT zonder het uitvoergedeelte
Voor cat
is het uitvoergedeelte optioneel. Als u dit onderdeel verwijdert, wordt de inhoud van elk bestand naar de terminal afgedrukt.
U kunt dit ook op afzonderlijke bestanden doen. Houd er rekening mee dat u de inhoud hier niet kunt bewerken zoals u zou doen met DOC- of TXT-bestanden in een teksteditor . De cat
opdracht wordt meer een tekstbestandsviewer dan een editor.
CAT-opdrachtvlaggen
Er zijn zes vlaggen die u kunt gebruiken wanneer u CAT op Linux gebruikt:
-
-n
som elke regel op vanaf 1. -
-b
som alleen de regels op die tekens bevatten. -
-s
pers meerdere opeenvolgende lege regels in één lege regel. -
-e
markeer het einde van elke regel. -
-q
geen bericht weergeven als CAT geen invoerbestand kan vinden. -
-t
tabtekens weergeven als^I
.
We zullen doornemen hoe ze allemaal werken en hoe u ze kunt gebruiken.
De vlag -n gebruiken
De -n
vlag somt de inhoud van een bestand per regel op en drukt deze af op de terminal. Het bewerkt het bestand zelf niet.
cat -n file1.txt
Maar u kunt de uitvoer (met opsomming) nog steeds opslaan door dit te doen:
cat -n file1.txt > file2.txt
Dat somt de inhoud van “file1.txt” op en slaat deze op in “file2.txt”.
U kunt ook meerdere bestanden samen opsommen. De cat
opdracht blijft tellen na het einde van het eerste bestand. Als het eerste bestand eindigt op 33, begint het volgende bestand op 34 enzovoort.
De vlag -b gebruiken
Het probleem met de -n
vlag is dat deze ook lege regels opsomt. Als je een bestand had met veel witruimte voor lay-out of leesbaarheid, heb je -b
in plaats daarvan de vlag nodig.
cat -b file1.txt
Het formaat voor de -b
vlag werkt hetzelfde als dat van de -n
vlag. En als u deze twee samen gebruikt, -b
zal de vlag de vlag overschrijven, -n
ongeacht hoe u ze bestelt.
De vlag -s gebruiken
De -s
vlag is een andere handige cat
opdrachtvlag voor als u voldoende witruimte in uw bestanden heeft. Het werkt door alle herhalende witruimte terug te brengen tot één enkele, wat de leesbaarheid vergemakkelijkt.
cat -s file2.txt
Deze vlag zoekt naar minimaal 2 opeenvolgende lege regels voordat ze worden samengevoegd. Als uw bestand een enkele lege regel bevat tussen twee gevulde regels, zal het die overslaan en naar de volgende zoeken.
De vlag -e gebruiken
De -e
vlag zoekt het einde van elke regel en voegt een a toe $
aan het einde van elke regel.
cat -e file1.txt
Deze vlag maakt het gemakkelijker om met uw tekstbestanden te werken wanneer u reguliere expressies of regex gebruikt . U kunt een extra script of programma de inhoud van het opgeslagen bestand laten lezen en de uiteinden controleren met behulp van regex.
Vergeet niet dat de -e
vlag ook een a toevoegt $
aan het einde van elke lege regel, dus misschien wilt u deze ernaast gebruiken -s
om het er overzichtelijker uit te laten zien.
De vlag -t gebruiken
De -t
vlag is vergelijkbaar met de -e
vlag, maar zoekt in plaats daarvan naar het “tab-teken” en vervangt deze door een ^I
. Wat geweldig is aan deze vlag, is dat hij weet hoe hij “tab” kan onderscheiden van het “dubbele spatie”-teken.
cat -t file1.txt > file2.txt
Dit betekent dat als u de -n
of- -b
vlaggen naast de -t
vlag gebruikt, de spatietekens worden gelezen zoals ze zijn en ze met rust laten. Hetzelfde geldt als je heel veel spaties toevoegt om een ”tab” -teken na te bootsen.
Linux CAT-opdrachtgebruik
De cat
opdracht mag alleen worden gebruikt als u tekstbestanden regel voor regel probeert te combineren. Verwacht niet dat de cat
opdracht twee regels tekst neemt en ze combineert tot één regel.
Aan de andere kant zul je hier veel baat bij hebben wanneer je tekstbestanden probeert op te schonen zodat andere scripts eraan kunnen werken. De -e
, -t
, -b
, en -s
vlaggen zijn allemaal handig genoeg om u tijd te besparen bij het coderen van uw eigen script voor wat deze vlaggen al doen.
Het helpt ook om het gemakkelijker te maken om tekstbestanden te bekijken in vergelijking met de hele tijd de Nano-editor te moeten gebruiken .
Veel Gestelde Vragen
Wat gebeurt er als ik de CAT-opdracht op een videobestand gebruik?
Videobestanden bevatten iets dat ‘header’ wordt genoemd. Dit is een stuk informatie dat laat zien hoe de video is gecodeerd. Als u de CAT-opdracht gebruikt om video’s samen te voegen, blijft er een over met koptekstinformatie tussen gecodeerde videogegevens. De meeste kijkers zullen dit lezen en denken dat uw bestand beschadigd is. U kunt dit beter met een andere tool zoals FFmpeg doen met videobestanden.
Kan ik de Linux CAT-opdracht gebruiken met bestanden uit verschillende mappen?
U kunt uw bestandsnamen behandelen als mappaden wanneer u bestanden in mappen combineert met behulp van de cat
opdracht. Op deze manier kun je een bestand in Desktop combineren met een ander bestand uit Foto’s door het als volgt te doen: cat Desktop/file1.txt Photos/Photos.txt >> output.txt
.
Wat gebeurt er als ik de bestandsnaam van een bestaand bestand gebruik als uitvoer naar de CAT-opdracht?
>
Afhankelijk van of u of gebruikt >>
, zal het de inhoud overschrijven of toevoegen aan het bestaande bestand. De >>
opdracht wordt toegevoegd aan een bestand of maakt het bestand aan als het niet bestaat. De >
opdracht overschrijft het bestand als het bestaat of maakt het aan als het niet bestaat.
Om giswerk te voorkomen, is het altijd het beste om de uitvoer op te slaan in een niet-bestaand bestand met een unieke bestandsnaam.
Geef een reactie