Hallo zusammen
Ich habe in einem Verzeichnis 200 unterschiedlich lange Dateien mit '.out' als Extension. Gewisse davon haben in der letzte Zeile den String "== MOPAC DONE==", die anderen haben einen beliebigen String der Art "CYCLE 132 CALCULATION..".
Ich will nur auf den Files die in der letzten Zeile mit "MOPAC DONE" enden, ein Bash-Skript aufrufen. Alle meine Versuche, die letzte Zeile mit einem compare String zu vergleichen scheiterten bis jetzt:
Hier wird gar nichts ausgegeben, wenn ich die Quotationmarks im if-Statement weglasse, dann kriege ich für jeden Schleifendurchlauf "-bash: [: too many arguments".
Wäre sehr froh um Hinweise.
Ich habe in einem Verzeichnis 200 unterschiedlich lange Dateien mit '.out' als Extension. Gewisse davon haben in der letzte Zeile den String "== MOPAC DONE==", die anderen haben einen beliebigen String der Art "CYCLE 132 CALCULATION..".
Ich will nur auf den Files die in der letzten Zeile mit "MOPAC DONE" enden, ein Bash-Skript aufrufen. Alle meine Versuche, die letzte Zeile mit einem compare String zu vergleichen scheiterten bis jetzt:
Code:
for i in *out
do
comp="== MOPAC DONE =="
last=$(tail -n 1 $i)
if [ "$last" = "$comp" ]
then
echo $i
bash skript.sh $i
fi
done
Hier wird gar nichts ausgegeben, wenn ich die Quotationmarks im if-Statement weglasse, dann kriege ich für jeden Schleifendurchlauf "-bash: [: too many arguments".
Wäre sehr froh um Hinweise.
Zuletzt bearbeitet: