GNU/Linux >> Linux Esercitazione >  >> Linux

Pipe a più file nella shell?

Ho un'applicazione che produrrà una grande quantità di dati che non desidero archiviare sul disco. L'applicazione emette principalmente dati che non desidero utilizzare, ma un insieme di informazioni utili che devono essere suddivise in file separati. Ad esempio, dato il seguente output:

JUNK
JUNK
JUNK
JUNK
A 1
JUNK
B 5
C 1
JUNK

Potrei eseguire l'applicazione tre volte in questo modo:

./app | grep A > A.out
./app | grep B > B.out
./app | grep C > C.out

Questo mi darebbe quello che voglio, ma ci vorrebbe troppo tempo. Inoltre, non voglio scaricare tutti gli output in un singolo file e analizzarlo.

C'è un modo per combinare le tre operazioni mostrate sopra in modo tale da dover eseguire l'applicazione solo una volta e ottenere comunque tre file di output separati?

Risposta accettata:

Se hai tee

./app | tee >(grep A > A.out) >(grep B > B.out) >(grep C > C.out) > /dev/null

(da qui)

(sulla sostituzione del processo)


Linux
  1. Personalizzazione della shell Bash

  2. PHP-FFMpeg:Consenti più file di input (aggiungi audio al video)

  3. Grep Word all'interno di un file, quindi copia il file?

  4. Grep:Memoria esaurita?

  5. Grep per più stringhe nei file e quindi elencare i file nell'ordine delle dimensioni?

Nozioni di base su Linux:come scaricare file sulla shell con Wget

Che cos'è la shell in Linux?

Come modificare l'estensione di più file?

Come elencare un tipo specifico di file nelle directory ricorsive nella shell?

Come posso rinominare i file con spazi utilizzando la shell di Linux?

Tail più file remoti