web-dev-qa-db-fra.com

Nano - passer à la fin du fichier

J'ai de longs fichiers journaux. Je peux voir les dernières lignes avec tail -n 50 file.txt, mais j'ai parfois besoin de modifier ces dernières lignes.

Comment accéder directement à la fin d'un fichier lors de sa visualisation avec nano?

50
Marko Pacak

Ouvrez le fichier avec nano file.txt.

Tapez maintenant Ctrl + _ et alors Ctrl + V

64
Marko Pacak

De nombreux éditeurs prennent en charge l'option +NNN Sur la ligne de commande pour passer directement à la ligne NNN. Heureusement pour vous, nano semble sauter à la fin si le numéro de ligne donné dépasse la fin du fichier, vous pouvez donc utiliser quelque chose comme:

nano +999999 file

Cela fonctionne également dans joe, mais pas dans, par exemple less ou VIM, ils se plaignent de dépasser EOF. (au moins ceux de mon système. less +G file et vi +$ file fonctionnent dans ceux-ci.)

Bien sûr, quelque chose comme $EDITOR +$(wc -l file) file fonctionnerait probablement dans la plupart des éditeurs, mais c'est un peu idiot et implique de lire le fichier deux fois.

26
ilkkachu

À partir de l'aide intégrée de Nano (^G):

M-\   (^Home)   Go to the first line of the file
M-/   (^End)    Go to the last line of the file

Alors, appuyez sur Alt+\ pour aller à première ligne ou appuyez sur Alt+/ pour aller à dernière ligne.

  • Ce serait l'équivalent de gg (début) ou G (fin) dans vim.
  • Cela indique également que Ctrl+Home ou Ctrl+End devrait fonctionner, mais ça n'a jamais marché pour moi ils semblent fonctionner nativement sur console/bureau mais pas via SSH en utilisant PuTTY.
  • La façon dont je m'en souviens est que / se trouve près du bas du clavier et \ est proche du sommet.

Si vous voulez une commande, vous pouvez écrire une fonction dans votre .bashrc ou .bash_aliases pour utiliser le nombre de lignes de wc:

function nano-end {
    # if the file exists, jump to the end
    # otherwise, just open an empty nano
    [ -f "$1" ] && nano +$(wc -l "$1") || nano
}

Tapez maintenant nano-end filename pour ouvrir le fichier à sa dernière ligne!

15
ghaberek

Pour aller directement à la fin du fichier en nano, il suffit de taper: Alt + /. De plus, si vous voulez passer à une première ligne: Alt + \

4
Mahmoud Mostafa

Ctrl+End fonctionne, si vous avez une version récente (compilée) de l'éditeur nano .

Si vous ne savez pas comment le faire, vous pouvez lire Compiler l'éditeur Nano avec des options

Notez que dans les systèmes plus récents, par ex. basé sur Ubuntu 18.04, il existe déjà une telle version.

Depuis le changelog :

12 avril 2017 - GNU nano 2.8.1

... fait passer ^ Début et ^ Fin au début et à la fin du fichier (sur les terminaux qui prennent en charge ces frappes) ...

PuTTY vs Cygwin

Je n'ai pas PuTTY installé, ici nous devons nous baser sur d'autres affirmations que ces combinaisons de touches ne fonctionnent pas dans Windows 10 + PuTTY + SSH + nano> 2.8.1.

D'un autre côté, j'ai Cygwin, et Windows 10 + Cygwin + SSH + nano> 2.8.1 fonctionne bien.

4
LinuxSecurityFreak

OP veut que j'ajoute une réponse pour sauter à la dernière ligne dans vim.

ESC + ShiftG vous amènera au début de la dernière ligne.

ESC + ShiftGA vous amènera à la fin de la dernière ligne et le mode d'insertion sera activé.

2
Hunter.S.Thompson