Ich möchte die letzten 10 Zeilen mehrerer Dateien erhalten. Ich weiß, dass sie alle mit "-access_log" enden. Also habe ich versucht:
tail -10 *-access_log
Aber das gibt mir einen Fehler, wo als:
tail -10 file-*
Gibt mir die Ausgabe, die ich erwarten würde. Ich würde denken, dass dies wahrscheinlich mehr mit BASH als mit Schwanz zu tun hat. Befehle wie:
cat *-access_log
Funktioniert gut.
Irgendwelche Vorschläge?
Die Frage ist zwar etwas alt, aber immer noch relevant. Ich bin auf ein ähnliches Problem gestoßen
das gab mir den Fehler
jedoch Tailing nur eine Datei, wie
funktioniert gut. Mit Blick auf die Quelle tail.c zeigt , dass Schwanz startet durch Parsen veraltete Optionen, dann den Rest analysieren (dh Optionen noch nicht verarbeitet), regelmäßige Optionen. Allerdings
parse_obsolete_option()
erwartet ein „veralteter“ usage, mit nur einer Datei als Argument.Wenn Sie also mehr Dateien bereitstellen, kehrt die Funktion sofort zurück und lässt den regulären Parser ersticken
-2
(erwartet-n 2
).Zusammenfassend ist es besser, immer die
-n
reguläre Form zu verwenden, da der "veraltete" Code nur eine Datei akzeptiert.quelle
-n 2
statt,-2
wenn es Platzhalter gibt.