Comment inverser le contenu d'un fichier .txt tout en préservant les lignes vides?
Par exemple,
text one
text two
text three
text four
text five
text six
deviendrait
text six
text five
text four
text three
text two
text one
De préférence avec la console Windows ou également le code source pour compiler une application. J'ai Windows 7.
Réponses:
Cela peut être fait facilement avec PowerShell sans aucun outil supplémentaire:
la source
J'ai trouvé l'outil idéal pour cela: tac (une partie de CoreUtils pour Windows )
la source
Un autre exemple PowerShell. Cela montre simplement l'inversion. Il serait trivial d'exporter $ x dans un fichier.
la source
Je lirais le fichier dans l'ordre inverse (en utilisant un script, un programme, etc.) et l'écrirais dans un "nouveau" fichier, évitant ainsi un tri. Ensuite, supprimez le fichier "ancien" et renommez le "nouveau" en "ancien".
la source
Dans la plupart des cas, une sorte typique ne conservera pas vos lignes vides, mais les placera toutes ensemble quelque part dans votre sorte. Si c'était moi, je copierais et collerais les lignes dans Excel et trierais s'il s'agissait d'une chose ponctuelle. Sinon, vous allez vous lancer dans des scripts très sophistiqués (mais bon, c'est possible).
En ce qui concerne le script, j’aurais d’abord un code qui recherche les lignes vides et enregistre cet emplacement dans un tableau. Ensuite, je triais le reste des données, en utilisant une méthode de tri intégrée ou en créant mon propre code de "tri à bulles". Une fois triés, réintroduisez les sauts de ligne aux emplacements indiqués et vous serez configurés.
la source
Voici quelque chose de natif - un script VBScript (.vbs).
Enregistrez-le sous (par exemple) revfile.vbs et exécutez-le à l'aide du moteur cscript. Comme indiqué, il renvoie la sortie à la console. Pour écrire les lignes inversées dans un fichier, utilisez l'
>
opérateur (redirection) comme ceci:Utilisez des guillemets autour des noms de fichiers / chemins s’ils contiennent des espaces.
la source