Overvåg og log output i Linux uden uprintbare tegn: En trin-for-trin guide

Hvordan kan en kommando i Linux bruges til at overvåge og logge output til en fil uden at inkludere uprintbare tegn, så resultatet ser ud som: TIME: 10:32:30 12 TIME: 10:32:40 18 TIME: 10:32:50 2

For at overvåge og logge output til en fil i Linux uden uprintbare tegn, kan du bruge et script kombineret med kommandoer som `awk` og `nohup`.

Hvordan kan en kommando i Linux bruges til at overvåge og logge output til en fil uden at inkludere uprintbare tegn?

For at overvåge og logge output til en fil i Linux uden at inkludere uprintbare tegn, kan du bruge en kombination af kommandoer som watch, date, og awk. Her er en trin-for-trin guide:

  1. Opret et script, der genererer det ønskede output. For eksempel, hvis du vil logge en tilfældig værdi sammen med det aktuelle tidspunkt:

    #!/bin/bash
    while true; do
      echo "TIME: $(date +%T)    $((RANDOM % 20))"
      sleep 10
    done
  2. Gør scriptet eksekverbart:

    chmod +x script.sh
  3. Kør scriptet og log output til en fil, mens du fjerner uprintbare tegn:

    ./script.sh | awk '{print $0}' > output.log
  4. For at sikre, at scriptet kører i baggrunden og fortsætter med at logge, kan du bruge nohup:

    nohup ./script.sh | awk '{print $0}' > output.log &

Dette vil skabe en logfil output.log med indhold, der ser ud som:

TIME: 10:32:30    12
TIME: 10:32:40    18
TIME: 10:32:50    2

Bemærk, at awk '{print $0}' bruges til at sikre, at kun printbare tegn inkluderes i outputfilen.