3 Stimmen

Vermeiden Sie, nichts in die Datei zu schreiben

Ich verwende Python und benutze auch egrep, um bestimmte Zeilen auszuwählen und eine .txt-Datei mit diesen Zeilen zu erstellen:

os.system('cat {0}|egrep " {1}."|egrep " 7..\."|egrep " 8..\." >> {2}_{1}_800.tim' .format(full,epoch,pname))

Der zusätzliche Teil, bei dem ich mir nicht sicher bin, wie man das macht, ist, dass bei KEINEN übereinstimmenden Zeilen keine leere .txt-Datei geschrieben werden soll.

Jede Hilfe wäre toll, danke.

0voto

Okay, du kannst einige If-Anweisungen verwenden, wenn ich mich nicht irre.

grep "mein Muster" input-file.txt | {
  DATEI=output-file.txt
  read x; #Die erste Zeile lesen
  if ! [[ $x ]]; then
    exit #Wenn die 1. Zeile leer war, dann gibt es kein Treffer
  fi
  echo $x >> $DATEI
  while read line; do
    echo $x
  done >> $DATEI
}

Dies sollte einwandfrei funktionieren. Jetzt kannst du einfach das hier schreiben

'cat {0}|egrep " {1}."|egrep " 7..\."|egrep " 8..\." | 'cat {0}|egrep " {1}."|egrep " 7..\." | egrep " 8..\." | {   DATEI={2}_{1}_800.tim;   read x;   if ! [[ $x ]]; then     exit;   fi;   echo $x >> $DATEI;   while read line; do     echo $x;   done >> $DATEI; }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X