Wat is het CAT-commando in Linux en hoe het te gebruiken

Wat is het CAT-commando in Linux en hoe het te gebruiken

De catopdracht 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 catopdracht 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.

Linux-terminal Combineert File1 File2 en File3-uitvoer naar uitvoerbestand met uitvoerinhoud op tekstbestandseditor

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 catis 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 catopdracht wordt meer een tekstbestandsviewer dan een editor.

CAT-opdrachtvlaggen

Er zijn zes vlaggen die u kunt gebruiken wanneer u CAT op Linux gebruikt:

  • -nsom elke regel op vanaf 1.
  • -bsom alleen de regels op die tekens bevatten.
  • -spers meerdere opeenvolgende lege regels in één lege regel.
  • -emarkeer het einde van elke regel.
  • -qgeen bericht weergeven als CAT geen invoerbestand kan vinden.
  • -ttabtekens weergeven als ^I.

We zullen doornemen hoe ze allemaal werken en hoe u ze kunt gebruiken.

De vlag -n gebruiken

De -nvlag 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

Linux Terminal Cat-opdrachtvlaggen N-vlag

Dat somt de inhoud van “file1.txt” op en slaat deze op in “file2.txt”.

U kunt ook meerdere bestanden samen opsommen. De catopdracht 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 -nvlag is dat deze ook lege regels opsomt. Als je een bestand had met veel witruimte voor lay-out of leesbaarheid, heb je -bin plaats daarvan de vlag nodig.

cat -b file1.txt

Linux Terminal Cat-opdrachtvlaggen B-vlag 2

Het formaat voor de -bvlag werkt hetzelfde als dat van de -nvlag. En als u deze twee samen gebruikt, -bzal de vlag de vlag overschrijven, -nongeacht hoe u ze bestelt.

De vlag -s gebruiken

De -svlag is een andere handige catopdrachtvlag 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

Linux Terminal Cat Command-vlaggen S-vlag

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 -evlag zoekt het einde van elke regel en voegt een a toe $aan het einde van elke regel.

cat -e file1.txt

Linux Terminal Cat Command-vlaggen E-vlag

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 -evlag ook een a toevoegt $aan het einde van elke lege regel, dus misschien wilt u deze ernaast gebruiken -som het er overzichtelijker uit te laten zien.

De vlag -t gebruiken

De -tvlag is vergelijkbaar met de -evlag, 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

Linux Terminal Cat Command-vlaggen T-vlag

Dit betekent dat als u de -nof- -bvlaggen naast de -tvlag 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 catopdracht mag alleen worden gebruikt als u tekstbestanden regel voor regel probeert te combineren. Verwacht niet dat de catopdracht twee regels tekst neemt en ze combineert tot één regel.

Linux Terminal Hello World in twee regels gesneden

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 -svlaggen 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 .

Nano-editor Hallo wereld in twee regels

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 catopdracht. 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

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *