J'ai récemment reçu une erreur me disant qu'il y avait un problème avec la ligne 52. J'essaie de savoir quelle est la meilleure méthode pour trouver des lignes au lieu de les compter.
Dans Windows, j’utilisais souvent Notepad ++ , qui affichait les lignes directement à gauche, de sorte que les utilisateurs pouvaient facilement faire défiler jusqu’à la ligne spécifique recherchée - Cependant, cette option ne figure pas dans Linux.
Peut-être qu'une certaine application est nécessaire?
UPDATE: Je ne peux actuellement pas ouvrir de logiciel-store et le seul éditeur de texte dont je dispose est la valeur par défaut nano
et gedit
. Veuillez donc limiter vos réponses à des solutions qui ne nécessitent pas l’installation de logiciels.
** NOTE: ** Je ne cherche pas à trouver une 'chaîne' de quelque sorte. Je cherche à trouver rapidement la ligne NUMBER sur laquelle la chaîne apparaît.
Si vous recherchez une approche graphique, vous pouvez afficher les numéros de ligne dans l'éditeur de texte par défaut, gedit. Pour ce faire, allez dans Edition -> Préférences et cochez la case "Afficher les numéros de ligne".
Vous pouvez également passer à un numéro de ligne spécifique en utilisant Ctrl+I.
Créons un fichier de test.
$ seq 100 >file
Maintenant, affichons la ligne 52:
$ sed -n 52p file
52
Ou:
$ awk 'NR==52' file
52
Ou, si le fichier est ouvert dans vim
, vous pouvez taper 52G
pour passer à la ligne 52.
Supposons que votre fichier s'appelle file.txt
. Pour éditer le fichier dans nano
avec le nombre de lignes, de colonnes et de caractères affiché, exécutez
nano -c file.txt
Voici à quoi ressemble nano avec le curseur à la ligne 7 d'un fichier de 21 lignes:
Vous pouvez afficher le fichier avec less
. Utilisez less -N
pour afficher les numéros de ligne, tapez "52
" à less
pour accéder à la ligne 52. Voir man less
.
Ou, vous pouvez ouvrir le fichier avec l'éditeur vim
(tapez vim thefile
), puis taper ":52
" pour accéder à la ligne 52. Voir man vim
Dans vi
ou vim
:set nu
active les numéros de ligne
:set nonu
désactive les numéros de ligne
52gg
va à la ligne 52
52G
va aussi à la ligne 52
Salut tout le monde, je pense que beaucoup d'entre nous ont complètement pensé à ça. Tandis que je continuais à lire vos commentaires et réponses, je me suis rendu compte que l'éditeur de texte de base vous indique la ligne et la colonne sur lesquelles vous vous trouvez si vous regardez au bas de la fenêtre. : /
Je me sens idiot lol
Un bon outil pour le travail est grep
. Avec grep -i -n 'string'
, vous pouvez rechercher une chaîne particulière et connaître la ligne sur laquelle elle se trouve.
Supposons que le compilateur Java me signale une erreur indiquant que, dans la ligne System.out.println("Hello World")
, je n'ai pas de point-virgule ou quelque chose du genre.
Ce que je pourrais faire est de cat helloworld.Java | grep -i -n 'hello world'
Et cela me rendrait 7: System.out.println("Hello World!")
, où 7: est le numéro de ligne avec le signe deux-points comme séparateur.
Alternativement, vous pouvez démarrer nano avec le curseur sur une ligne et une colonne particulières, comme suit nano +7,0 helloworld.Java
(et qu’il s’agit d’une des premières options du man nano
)