[BATCH] Deux lignes identiques dans un .txt

Fermé
Utilisateur anonyme - 21 mai 2014 à 18:43
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 28 mai 2014 à 08:02
Bonjour

Existe-t-il un code pour faire en sorte que tout les lignes identiques (2,3 ou + ?) qui apparaissent dans un fichier txt soient supprimés, mais qu'une seule soit gardé ?

Je vous explique (exemple) :


@echo off

:debut
color 0f
cls
set /p choix= Entrez votre choix :

if "%choix%"=="1" (goto :1)
if "%choix%"=="2" (goto :2)
if "%choix%"=="3" (goto :3)
if "%choix%"=="end" (goto :end)
goto :erreur

:1
color 0a
echo.
echo Choix 1 accepte
echo.
echo Appuyez sur une touche pour revenir au debut.
echo Le choix 1 a ete effectue >>123.txt
pause>nul
goto :debut

:2
color 0a
echo.
echo Choix 2 accepte
echo.
echo Appuyez sur une touche pour revenir au debut.
echo Le choix 2 a ete effectue >>123.txt
pause>nul
goto :debut

:3
color 0a
echo.
echo Choix 3 accepte
echo.
echo Appuyez sur une touche pour revenir au debut.
echo Le choix 3 a ete effectue >>123.txt
pause>nul
goto :debut

:end
echo.
-------------------------ICI LE CODE qui supprimera les lignes en trop-------------------------
echo Appuyez sur une touche pour quitter.
pause>nul
exit

:erreur
color 0c
echo.
echo Une erreur est survenue
echo.
echo Appuyez sur une touche pour revenir au debut.
pause>nul
goto :debut


Merci de votre aide :)
A voir également:

2 réponses

Utilisateur anonyme
25 mai 2014 à 23:56
Up ?
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
26 mai 2014 à 09:35
hello
uniquement en bat DOS ou est-il acceptable d'utiiliser un outil Liniux pour DOS tel que awk ?
0
Utilisateur anonyme
26 mai 2014 à 23:36
Ben, je sais pas trop c est quoi un outil Linux pour dos.
Awk j'ai déjà vu mais je sais pas si il faut installer qq chose genre commande externe
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
Modifié par dubcek le 27/05/2014 à 08:55
c'est un simple .exe, pas une installaton à la Windows
exemple, n'afficher qu'une fois les lignes répétées
C:> type f1.txt
1
2
a
3
b
3
d
2
C:> awk "!t[$1]++" f1.txt
1
2
a
3
b
d
0
Utilisateur anonyme
27 mai 2014 à 22:23
Dac merci ;)
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
28 mai 2014 à 08:02
0