Kør grep på output fra tail med watch: Sådan gør du det korrekt

Hvordan kan kommandoen "watch -n 1 tail -n 200 log/site_dev.log | grep Doctrine" køres korrekt, så grep anvendes på output fra tail i stedet for watch?

For at sikre, at grep anvendes på output fra tail i stedet for watch, skal du bruge en subshell: `watch -n 1 'tail -n 200 log/site_dev.log | grep Doctrine'`.

Sådan køres kommandoen korrekt, så grep anvendes på output fra tail i stedet for watch

For at sikre, at grep anvendes på output fra tail i stedet for watch, skal du bruge en subshell. Her er trinene:

  1. Brug en subshell til at indkapsle tail og grep kommandoerne.
  2. Indsæt subshell'en som argument til watch kommandoen.

Den korrekte kommando vil se sådan ud:

watch -n 1 'tail -n 200 log/site_dev.log | grep Doctrine'

Her er en forklaring på, hvordan denne kommando fungerer:

  • watch -n 1: Kører den angivne kommando hvert sekund.
  • 'tail -n 200 log/site_dev.log | grep Doctrine': Subshell, der først kører tail for at vise de sidste 200 linjer af log/site_dev.log og derefter anvender grep for at filtrere linjer, der indeholder "Doctrine".

Ved at bruge en subshell sikrer du, at grep anvendes på output fra tail og ikke på output fra watch.