Sådan sletter du n linjer og beholder én linje i en stor CSV-fil med bash-kommandoer

Hvordan kan man slette n linjer og derefter beholde én linje gentagne gange i en stor CSV-fil (75MB) for at producere en graf, eksempelvis ved brug af en bash-kommando?

For at slette n linjer og beholde én linje gentagne gange i en stor CSV-fil, kan du bruge bash-kommandoen `awk 'NR % (n+1) == 1' input.csv > output.csv`, hvor n er antallet af linjer, du vil slette.

Sådan sletter du n linjer og beholder én linje gentagne gange i en stor CSV-fil ved hjælp af en bash-kommando

For at slette n linjer og derefter beholde én linje gentagne gange i en stor CSV-fil, kan du bruge en kombination af bash-kommandoer. Her er en trin-for-trin guide:

  1. Åbn din terminal.
  2. Brug følgende bash-kommando for at slette n linjer og beholde én linje gentagne gange:
awk 'NR % (n+1) == 1' input.csv > output.csv

Her er en forklaring på, hvordan kommandoen fungerer:

  • awk: Et kraftfuldt tekstbehandlingsværktøj.
  • NR % (n+1) == 1: Dette udtryk betyder, at for hver (n+1) linjer, vil kun den første linje blive printet. Hvis n er 3, vil det betyde, at for hver 4 linjer, vil kun den første linje blive beholdt.
  • input.csv: Navnet på din input CSV-fil.
  • output.csv: Navnet på din output CSV-fil, hvor de filtrerede linjer vil blive gemt.

Eksempel: Hvis du vil slette 3 linjer og beholde 1 linje gentagne gange, skal du bruge følgende kommando:

awk 'NR % 4 == 1' input.csv > output.csv

Efter at have kørt denne kommando, vil din output CSV-fil kun indeholde hver fjerde linje fra den oprindelige fil.

Dette er en effektiv måde at reducere størrelsen på en stor CSV-fil og forberede dataene til grafproduktion.