Je peux me tromper, mais vous pouvez échapper à une coquille avec !, et je pense exécuter une commande comme ceci: !rm whateverfile.txt.
LawrenceC
@ultrasawblade Cela semble plausible.
un CVn
Que voulez-vous dire "supprimer" (fermez-le, supprimez-le, autre chose), et que voulez-vous dire quand vous dites "sans revenir en arrière et passer au suivant"? Revenir à quoi?
ernie
Réponses:
0
Avec vi, vous pouvez ouvrir plusieurs fichiers, de manière explicite ou par un caractère générique, par exemple:
vi 1.txt 2.txt
vi *.txt
Une fois ouverts, vous pouvez naviguer entre eux de différentes manières. :lsmontrera une liste des fichiers ouverts. Pour changer, vous pouvez utiliser le nom ou l'index, par exemple b1pour ouvrir le fichier 1 dans la liste ou b 1.txtpour basculer explicitement vers le fichier.
:net :pagira comme suivant et précédent respectivement.
La question a de nombreuses interprétations, mais je suppose que vous voulez une sorte de visualiseur automatique qui vous demande si vous souhaitez conserver / supprimer un fichier. Une méthode pourrait être la suivante:
Étant donné une liste de fichiers:
#!/bin/bash
for f in "$@"; do
less "$f"
# head -n 10
rm -i "$f"
done
Étant donné un répertoire qui contient les fichiers:
#!/bin/bash
dir="$1"
for f in "$dir/*"; do
less "$f"
# head -n 10
rm -i "$f"
done
Dans les deux scripts, vous devrez quitter le lessprocessus en appuyant sur Qavant de pouvoir choisir de conserver ou de supprimer le fichier. Vous pouvez utiliser la head -n 10commande à la place pour éviter cela et n'afficher que les 10 premières lignes.
Exécutez-les à partir d'une ligne de commande et donnez-leur les paramètres corrects. Bonne chance.
Vous pouvez remplacer l'intégralité de ces scripts de echotravers esac(inclus) avec simplement rm -i "$f"(je suggère également échapper au nom de fichier dans l'invocation, pour se prémunir contre des caractères spéciaux). -idemande à rm de demander confirmation, ce qui vous donne l'invite oui / non (et, en prime, respecte les paramètres régionaux de l'utilisateur).
un CVn
Merci pour la suggestion, j'ai corrigé le script pour utiliser votre méthode. Je vous remercie.
arielnmz
Cela fonctionne très bien, merci arielnmz et Michael.
!
, et je pense exécuter une commande comme ceci:!rm whateverfile.txt
.Réponses:
Avec vi, vous pouvez ouvrir plusieurs fichiers, de manière explicite ou par un caractère générique, par exemple:
Une fois ouverts, vous pouvez naviguer entre eux de différentes manières.
:ls
montrera une liste des fichiers ouverts. Pour changer, vous pouvez utiliser le nom ou l'index, par exempleb1
pour ouvrir le fichier 1 dans la liste oub 1.txt
pour basculer explicitement vers le fichier.:n
et:p
agira comme suivant et précédent respectivement.:bd
va fermer le fichier.la source
La question a de nombreuses interprétations, mais je suppose que vous voulez une sorte de visualiseur automatique qui vous demande si vous souhaitez conserver / supprimer un fichier. Une méthode pourrait être la suivante:
Étant donné une liste de fichiers:
Étant donné un répertoire qui contient les fichiers:
Dans les deux scripts, vous devrez quitter le
less
processus en appuyant sur Qavant de pouvoir choisir de conserver ou de supprimer le fichier. Vous pouvez utiliser lahead -n 10
commande à la place pour éviter cela et n'afficher que les 10 premières lignes.Exécutez-les à partir d'une ligne de commande et donnez-leur les paramètres corrects. Bonne chance.
la source
echo
traversesac
(inclus) avec simplementrm -i "$f"
(je suggère également échapper au nom de fichier dans l'invocation, pour se prémunir contre des caractères spéciaux).-i
demande à rm de demander confirmation, ce qui vous donne l'invite oui / non (et, en prime, respecte les paramètres régionaux de l'utilisateur).