shell-Skript eine Datei zu suchen und dann echo Inhalt der Datei
Ich versuche, zu erstellen Sie ein shell-Skript echo den Inhalt einer Datei, ich bin mir nicht sicher wo es zu finden ist.
Dachte ich, es wäre so etwas wie:
$echo | ls /* | grep file.xml
wo meine Datei könnte in einem unbekannten Unterordner, so bin ich versucht, zu suchen für den Weg mit grep.
Jede Hilfe auf die richtige syntax wäre sehr dankbar!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
find
:/
sagt zu Blick in/
und dessen Unterverzeichnisse;-name file.xml
sagt, finden Sie Dateien mit dem Namenfile.xml
; und-exec cat '{}' ';'
sagt zu laufen, z.B.cat /path/to/file.xml
für jede dieser Dateien, die druckt Ihre Inhalte.Ich denke, Sie wollen cat die Datei. Beachten Sie, dass es druckt alle Dateien, wenn es mehrere übereinstimmungen. Sie können die Erlaubnis erhalten, Fehler müssen Sie die filter, wenn Sie nicht ausreichend privilegiert. Zu vermeiden, nur auf Verzeichnisse, auf die Sie Rechte haben, ausführen mit erweiterten rechten oder verwenden Sie grep, um Sie zu entfernen. Versuchen:
grep
in gewisser Weise der logische Weg, um Sie zu unterdrücken ist nur2>/dev/null
. Auch ist der Befehl richtig, wenn der Pfad zufile.xml
enthält alle whitespace-Zeichen, Fragezeichen oder Sternchen.Versuchen Sie dies:
Diese listet alle Dateien, die text enthalten
alice in wonderland
. Wenn Sie wollen, um den Inhalt der einzelnen, dies zu tun: