Wie kann ich den Inhalt einer Textdatei in der Befehlszeile anzeigen?

Ich möchte den Inhalt einer Textdatei in der Befehlszeile anzeigen. Die Datei enthält nur 5-6 Zeichen. Gibt es eine einfache Möglichkeit, dies zu tun?

Antwort

Verwenden Sie cat

Da Ihre Datei kurz ist, können Sie cat verwenden.

cat filename 

Verwenden von less

Wenn Sie den Inhalt einer längeren Datei anzeigen müssen, können Sie einen Pager verwenden wie less .

less filename 

Sie können festlegen, dass sich less beim Aufrufen kleiner Dateien wie cat verhält, und sich ansonsten normal verhalten, indem Sie -F und -X Flags.

less -FX filename 

Ich habe einen Alias für less -FX. Sie können einen selbst so erstellen:

alias aliasname="less -FX" 

Wenn Sie den Alias zu Ihrer Shell-Konfiguration hinzufügen können Sie es für immer verwenden.

Verwenden von od

Wenn Ihre Datei seltsame oder nicht druckbare Zeichen enthält, können Sie od , um die Zeichen zu untersuchen. Beispiel:

$ cat file (ÐZ4 ?o=÷jï $ od -c test 0000000 202 233 ( 320 K j 357 024 J 017 h Z 4 240 ? o 0000020 = 367 \n 0000023 

Kommentare

  • +1, auch sed -n l file könnte nützlich sein.
  • Hat less klare Vorteile gegenüber anderen Pager-Programmen wie pg oder läuft es nur auf persönliche Vorlieben hinaus?
  • @SamWeinberg: less hat mehr Funktionen als pg. Schauen Sie sich die less(1) und pg(1) Manpages. Es gibt auch andere Pager. Schauen Sie sich unix.stackexchange.com/questions/81129/… an. less ist wahrscheinlich der am häufigsten verwendete Pager, aber welcher Sie verwenden, hängt von Ihren persönlichen Vorlieben ab.
  • don ‚ Vergessen Sie nicht more und most!

Antwort

Obwohl jeder cat filename verwendet, um einen Dateitext auf die Standardausgabe zu drucken, ist der erste Zweck con cat enating. Auf der Manpage von cat:

cat – verketten Sie Dateien und drucken Sie auf der Standardausgabe

Jetzt kann cat Dateien gut drucken, aber es gibt Alternativen:

 echo "$(<filename)" or printf "%s" "$(<filename)" 

Die ( ) gibt zurück Der Wert eines Ausdrucks, in diesem Fall der Inhalt von Dateiname , der dann für echo um $ erweitert wird oder printf.

Update:

< filename 

Dies macht genau das, was Sie wollen und ist leicht zu merken.

Hier ist ein Beispiel, mit dem Sie eine Datei in einem Menü auswählen und dann drucken können.

#!/bin/bash select fname in *; do # Don"t forget the "" around the second part, else newlines won"t be printed printf "%s" "$(<$fname)" break done 

Weitere Informationen Lesen:
BashPitfalls – Katzendatei | sed s / foo / bar /> Datei
Bash-Referenz – Umleiten

Kommentare

  • Ihr Update: “ < filename ist genau wh auf Wunsch … “ ist irreführend. Obwohl dies eine interessante Diskussion über Alternativen ist, denke ich, dass cat einfacher ist.
  • Bare < filename nicht Zeigen Sie den Inhalt der Datei an, aber cat filename tut dies.
  • Sie können auch tee < filename verwenden.
  • +1 für den echo "$(<filename)" Bashismus. Davon reicht hier nicht genug.
  • Diese ‚ ist eine großartige Idee für die Verwendung des internen Linux-Befehls mit echo "$(<filename)". Danke …

Antwort

Tools zum Umgang mit Textdateien unter Unix sind grundlegende Alltagsbefehle:

Unter Unix und Linux zum Ausdrucken des gesamten Inhalts in der Datei

cat filename.txt 

oder

more filename.txt 

oder

less filename.txt 

Für die letzten paar Zeilen

tail filename.txt 

Für erste Zeilen

head filename.txt 

Antwort

Mit dem folgenden Befehl können Sie Inhalte anzeigen einer Textdatei.

 cat filename 

Kommentare

  • Weitere Informationen zu cat, führen Sie man cat aus.

Antwort

Eine Option ist die Verwendung von more

, zmore file.txt

Es wurden jedoch nicht alle Funktionen von less hinzugefügt.
Ein einfaches Beispiel ist das Sie können in der Ausgabe nicht nach oben scrollen. Im Allgemeinen wurde sie von weniger abgelöst – was im Scherz benannt wurde, weil

weniger mehr ist

Kommentare

  • Schöne Erklärung, warum der Name weniger war

Antwort

Ich verwende immer $ less "your file here", da es sehr einfach ist und ein eingebautes interaktives grep Befehl und bietet Ihnen eine benutzerfreundliche Oberfläche, die Sie mit den Pfeiltasten scrollen können.

(Er ist auch in fast jedem * nix-System enthalten)

Kommentare

  • less ist die Overkill-Version von more (vergleiche man less mit man more) und für mich hat es zwei nervige Funktionen: 1) Es wechselt zum alternativen Bildschirmpuffer. Wenn weniger beendet wird, verschwindet die gerade angezeigte Datei. 2) Bei EOF müssen Sie explizit q eingeben (ich weiß, dort ‚ ist eine Option dafür). Eine meiner ersten Aktionen in einer neuen Umgebung ist das Festlegen von export PAGER=/bin/more in meinem Profil und die ständige Verwendung von more.
  • @ ott–: 1) Probieren Sie das Flag -X aus. 2) Probieren Sie das Flag -E aus. less hat einen more -Emulationsmodus. Sie können es aktivieren, indem Sie die Umgebungsvariable LESS_IS_MORE festlegen. Sie können im Emulationsmodus more nach oben scrollen.
  • Siehe auch: unix.stackexchange.com/questions / 81129 / …
  • Im Allgemeinen stimme ich jedoch zu, dass less übermäßig ist. kompliziert. Die Fähigkeit, externe Befehle auszuführen, ist ein perfektes Beispiel für die Überkomplexität.
  • @EvanTeitelman Ich ‚ fand die grep-Funktionalität selbst immer äußerst nützlich, @ott – Ich finde, dass ‚ die Emulation von more und ‚ Mit vielen zusätzlichen Funktionen macht es die Arbeit sehr gut.

Antwort

Wenn es sich um eine große Datei handelt, und Wenn Sie nach einem bestimmten Teil suchen möchten, können Sie

 cat filename | grep text_to_search -ni 

verwenden. Sie können auch einen interaktiveren Vim-Editor verwenden (oder einen vi-Editor, wenn Sie kein Vim haben):

 vim filename Or vi filename

Vim / vi ist ein großartiger Editor, kann auch als Lesegerät im „Normalmodus“ oder mit der Option -R verwendet werden und verfügt über viele Funktionen wird Ihnen beim Durchsuchen der Datei helfen.

Kommentare

  • Kürzere für vim -R ist view. Beachten Sie jedoch, dass es keine Umleitungen mag, wie in xargs und vi – „Eingabe erfolgt nicht von einem Terminal“ beschrieben.
  • danke @manatwork für die Heads Up! Ich habe vor kurzem angefangen, Vim zu verwenden, und ich mag es wegen seiner verschiedenen Funktionen. In Bezug auf Weiterleitungen habe ich das vergessen, danke für die Erinnerung. Ab sofort arbeite ich an einer Remote-VM, auf der ich ssh ohne GUI-Schnittstelle verwende. Daher ist Vim von großem Nutzen, wenn ein anderer GUI-Editor nicht funktioniert, nämlich ‚ s Warum habe ich hier Vim hervorgehoben?

Antwort

Verwenden Sie den Befehl cat, um den Inhalt des Dateinamens anzuzeigen. cat Dateiname

Verwenden Sie den Befehl vim, um die Datei zu bearbeiten. vim Dateiname

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.