Fjern de sidste n linjer fra en fil med Unix kommandoer: En trin-for-trin guide

Hvordan kan de sidste n linjer af en fil fjernes med en Unix kommandolinjefilter?

For at fjerne de sidste n linjer af en fil med en Unix kommandolinjefilter, kan du bruge en kombination af wc og head kommandoerne.

Hvordan kan de sidste n linjer af en fil fjernes med en Unix kommandolinjefilter?

For at fjerne de sidste n linjer af en fil ved hjælp af Unix kommandolinjefilter, kan du bruge en kombination af kommandoer som head og wc. Her er en trin-for-trin guide:

  1. Først skal du finde det samlede antal linjer i filen ved hjælp af wc -l kommandoen:
    wc -l filnavn
  2. Træk n fra det samlede antal linjer for at finde ud af, hvor mange linjer du vil beholde:
    total_lines=$(wc -l < filnavn | awk '{print $1}')
    lines_to_keep=$((total_lines - n))
  3. Brug head kommandoen til at vise de første lines_to_keep linjer af filen:
    head -n $lines_to_keep filnavn
  4. Hvis du vil gemme resultatet i en ny fil, kan du omdirigere output:
    head -n $lines_to_keep filnavn > ny_filnavn

Her er en samlet kommando, der udfører alle trin på én gang:

head -n $(($(wc -l < filnavn) - n)) filnavn > ny_filnavn

Erstat filnavn med navnet på din fil og n med antallet af linjer, du vil fjerne fra slutningen af filen.