it-swarm.com.de

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?

152
Sam Weinberg

Verwenden von 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 wie less verwenden.

less filename

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

less -FX filename

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

alias aliasname='less -FX'

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

Verwenden von od

Wenn Ihre Datei seltsame oder nicht druckbare Zeichen enthält, können Sie od verwenden, um die Zeichen zu untersuchen. Zum 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
220
user26112

Obwohl jeder cat filename Um einen Dateitext in die Standardausgabe zu drucken, ist der erste Zweck con cat enating. Aus der Manpage der Katze:

cat - verkettet Dateien und druckt auf der Standardausgabe

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

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

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

Aktualisieren:

< 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

Zur weiteren Lektüre:
BashPitfalls - Katzendatei | sed s/foo/bar /> Datei
Bash Reference - Redirecting

31
crunsher

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

 Katzendateiname 
9
forvaidya

Werkzeuge zum Umgang mit Textdateien unter Unix sind grundlegende Alltagsbefehle:

Unter Unix und Linux können Sie den gesamten Inhalt in einer Datei ausdrucken

cat filename.txt

oder

more filename.txt

oder

less filename.txt

Für die letzten paar Zeilen

tail filename.txt

Für die ersten paar Zeilen

head filename.txt
9
Abhishek

Eine Option ist die Verwendung von more

z.B. more file.txt

Es sind jedoch nicht alle Funktionen von less hinzugefügt.
Ein einfaches Beispiel ist, dass Sie in der Ausgabe nicht nach oben scrollen können. Im Allgemeinen wurde es von weniger übertroffen - was im Scherz genannt wurde, weil

weniger ist mehr

4
Michael Durrant

Ich benutze immer $ less "your file here" bietet, da es sehr einfach ist, einen integrierten interaktiven Befehl grep und eine benutzerfreundliche Oberfläche, die Sie mit den Pfeiltasten scrollen können.

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

3
SG60

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

 cat filename | grep text_to_search -ni 

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 Reader im "Normalmodus" oder mit der Option -R verwendet werden. Es verfügt über viele Funktionen, die Ihnen beim Durchsuchen der Datei helfen.

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

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

1
Edward Shen