Startpagina > Tekstverwerking en zoeken > paste

paste: Bestanden samenvoegen en uitvoeren

Het `paste`-commando voegt overeenkomstige regels uit meerdere bestanden samen en stuurt deze naar de standaarduitvoer. Het wordt gebruikt om regels uit elk bestand te verbinden met een scheidingsteken (delimiter) en ze horizontaal samen te voegen. Dit is handig voor het combineren van gegevensbestanden of het herstructureren van gegevens in een specifiek formaat.

Overzicht

Het `paste`-commando haalt de inhoud van dezelfde regelnummers uit meerdere invoerbestanden en combineert deze tot één regel. Standaard worden de inhoud van elk bestand gescheiden door een tab-teken, maar u kunt een aangepast scheidingsteken specificeren met de `-d`-optie.

Belangrijkste kenmerken

  • Voegt regels uit meerdere bestanden horizontaal samen
  • Aangepaste scheidingstekens kunnen worden gespecificeerd (optie `-d`)
  • Verwerkt gegevens uit standaardinvoer of bestanden
  • Bruikbaar voor het maken van eenvoudige CSV- of TSV-bestanden

Belangrijkste opties

Scheidingstekens en verwerkingsmethoden

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`paste` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Gebruiksvoorbeelden

Basisgebruik (tab-scheiding)

echo "apple\nbanana" > fruits.txt
echo "red\nyellow" > colors.txt
paste fruits.txt colors.txt

Voegt de inhoud van twee bestanden samen, gescheiden door tabs per regel.

Samenvoegen met komma (,) als scheidingsteken

echo "apple\nbanana" > fruits.txt
echo "red\nyellow" > colors.txt
paste -d ',' fruits.txt colors.txt

Gebruikt de `-d`-optie om een komma als scheidingsteken op te geven.

Samenvoegen met spatie als scheidingsteken

echo "apple\nbanana" > fruits.txt
echo "red\nyellow" > colors.txt
paste -d ' ' fruits.txt colors.txt

Voegt de inhoud van bestanden samen met een spatie als scheidingsteken.

Gebruik van meerdere scheidingstekens in rotatie

echo "1\n2\n3" > file1.txt
echo "A\nB\nC" > file2.txt
echo "X\nY\nZ" > file3.txt
paste -d ',=' file1.txt file2.txt file3.txt

Als u meerdere scheidingstekens opgeeft met de `-d`-optie, worden deze cyclisch toegepast op elk bestand.

Gebruik met standaardinvoer

echo "1\n2\n3" | paste -d ',' - <(echo "A\nB\nC")

Gebruikt `-` in plaats van een bestandsnaam om standaardinvoer te gebruiken als invoer voor `paste`.

Seriële verwerking (optie -s)

echo "1\n2\n3" > num.txt
echo "A\nB\nC" > char.txt
paste -s num.txt char.txt

Gebruikt de `-s`-optie om eerst alle regels van elk bestand te verwerken voordat het naar het volgende bestand gaat.

Tips & Aandachtspunten

Het `paste`-commando is een eenvoudig maar krachtig hulpmiddel voor tekstverwerking. Het kan bijzonder nuttig zijn bij het maken van CSV-bestanden of het analyseren van logbestanden.

Gebruikstips

  • **Gebruik van meerdere scheidingstekens**: Als u meerdere tekens opgeeft met de `-d`-optie, worden de scheidingstekens cyclisch toegepast op elk invoerbestand. Bijvoorbeeld, `paste -d ',|' file1 file2 file3` gebruikt `,` tussen `file1` en `file2`, en `|` tussen `file2` en `file3`.
  • **Verwerking van standaardinvoer**: Door `-` te gebruiken in plaats van een bestandsnaam, kunt u standaardinvoer gebruiken als invoer voor `paste`. Dit is erg handig in pipelines.
  • **Combinatie met andere commando's**: U kunt complexere gegevensmanipulaties uitvoeren door het te combineren met andere tekstverwerkingscommando's zoals `cut`, `awk`, `sed`. U kunt bijvoorbeeld specifieke kolommen extraheren met `cut` en ze vervolgens samenvoegen met `paste`.
  • **Verwerking van lege regels**: Als er lege regels in de invoerbestanden staan, voegt `paste` op die posities een lege string in, waardoor alleen het scheidingsteken wordt weergegeven.

Hétzelfde categoriecommando