Je souhaite afficher le contenu d'un fichier texte sur la ligne de commande. Le fichier ne contient que 5-6 caractères. Y a-t-il un moyen facile de faire ceci?
cat
Puisque votre fichier est court, vous pouvez utiliser cat
.
cat filename
less
Si vous devez afficher le contenu d'un fichier plus long, vous pouvez utiliser un pager tel que less
.
less filename
Vous pouvez faire en sorte que less
se comporte comme cat
lorsqu'il est invoqué sur de petits fichiers et se comporter normalement autrement en lui passant le -F
et -X
drapeaux.
less -FX filename
J'ai un alias pour less -FX
. Vous pouvez en créer un vous-même:
alias aliasname='less -FX'
Si vous ajoutez l'alias à votre configuration Shell , vous pouvez l'utiliser pour toujours.
od
Si votre fichier contient des caractères étranges ou non imprimables, vous pouvez utiliser od
pour examiner les caractères. Par exemple,
$ 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
Même si tout le monde utilise cat filename
pour imprimer un texte de fichier vers la sortie standard, le premier but est de con cat enating. De la page de manuel de chat:
cat - concaténer des fichiers et imprimer sur la sortie standard
Maintenant, chat est bien pour imprimer des fichiers, mais il existe des alternatives:
echo "$(<filename)"
or
printf "%s" "$(<filename)"
Le ( )
renvoie la valeur d'une expression, dans ce cas le contenu de filename qui est ensuite développé par $
pour echo
ou printf
.
Mise à jour:
< filename
Cela fait exactement ce que vous voulez et est facile à retenir.
Voici un exemple qui vous permet de sélectionner un fichier dans un menu, puis de l'imprimer.
#!/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
Pour en savoir plus:
BashPitfalls - fichier cat | sed s/foo/bar /> fichier
Référence Bash - Redirection
Vous pouvez utiliser la commande suivante pour afficher le contenu d'un fichier texte.
nom de fichier du chat
Les outils de gestion des fichiers texte sous Unix sont des commandes de base de tous les jours:
Sous Unix et Linux pour imprimer tout le contenu dans un fichier
cat filename.txt
ou
more filename.txt
ou
less filename.txt
Pour les dernières lignes
tail filename.txt
Pour les premières lignes
head filename.txt
Une option consiste à utiliser more
par exemple. more file.txt
Cependant, il n'a pas toutes les fonctionnalités ajoutées par less
.
Un exemple simple est que vous ne pouvez pas revenir en arrière dans la sortie. En général, il a été dépassé par moins - qui a été nommé en plaisantant parce que
moins est plus
J'utilise toujours $ less "your file here"
, car il est très simple, fournit une commande interactive intégrée grep
et vous offre une interface facile à utiliser que vous pouvez faire défiler avec les touches fléchées.
(Il est également inclus sur presque tous les systèmes * nix)
Si c'est un gros fichier et que vous souhaitez rechercher une partie spécifique, vous pouvez utiliser
cat filename | grep text_to_search -ni
Vous pouvez également utiliser un éditeur Vim plus interactif (ou un éditeur vi si vous n'avez pas Vim):
vim filename
Or
vi filename
Vim/vi est un excellent éditeur, peut également être utilisé comme lecteur en "Mode Normal" ou en utilisant l'option -R, il possède de nombreuses fonctionnalités qui vous aideront à parcourir le fichier.
Utilisez la commande cat pour afficher le contenu du nom de fichier. nom de fichier du chat
Utilisez la commande vim pour modifier le fichier. nom de fichier vim