25. marts 2008 - 01:53
Der er
19 kommentarer
En .bat file til at slette hveranden linie i en tekst
Hej alle
Jeg er ved at lave en .dict file til min PPC tastatur :-)
Jeg fandt en kæmpe liste med over 15000 danske ord, men problemet er at de er oversat til eng. i samme tekst...
Feks :
figur
figure, diagram, image, picture, representation
figurligt
figurative, figuratively
fil
file
filial
affiliate, branch
film
film, motion picture, movie
Osv. osv.
Det jeg gerne vil er at slette de eng. orde + fjerne mellemrummet hvor de eng. ord stod, så jeg ikke har en tom linje der hvor de oversatte eng ord eller flere stod...
Kan selvfølgelige går igen med at slette dem enkeltvis manuelt og blive færdig næste år :-)
Brugt før en meget simpelt "Rename.bat" til at ændre enelse på nogle filer ..
(rename *.0* *.r*)
Er her nogen som kan hjælpe mig med dette... 10000 tak på forhånd ...
25. marts 2008 - 02:11
#1
Du har spurgt i C/C++ kategorien - vil du have et C/C++ program til det ?
25. marts 2008 - 02:15
#2
C kode:
#include <stdio.h>
int main(int argc, char *argv[])
{
char line[1025];
FILE *fp1,*fp2;
int incl;
fp1 = fopen(argv[1], "r");
fp2 = fopen(argv[2], "w");
incl = 1;
while(fgets(line,sizeof(line),fp1))
{
if(incl) fputs(line,fp2);
incl = !incl;
}
fclose(fp1);
fclose(fp2);
return 0;
}
25. marts 2008 - 02:20
#3
Som en batfil:
@echo off
set first=1
for /F "tokens=*" %%I in ('type %1') do call :Process "%%I"
goto :eof
:Process
if %first% EQU 1 (
echo %~1
set first=0
) else (
set first=1
)
Køres med kommandoen:
whatever.bat input.txt >output.txt
25. marts 2008 - 02:32
#4
Hej Igen
Tak arne v, men var en bat fil jeg var efter (Beklager lagde ikke mærke til at jeg havde smidt den i c++ Katogerien)
bertelbrander er du der :-) jeg må have en lille smule mere hjælp her :-) Du har sikkert og svaret allerede på det, men jeg er noob her :-)
Har pt. Danish.txt med ordene, hvordan kan jeg bruge din løsning til dette. Da jeg skrev det med rename.bat, smid jeg .bat filen i mappen med filerne og exevirede, men hvad gør jeg her :-)
MAnge tak på forhånd ...
25. marts 2008 - 02:37
#5
Du lægger blot .bat filen i samme mappe som Danish.txt filen.
Så kører du kommandoen:
rename.bat Danish.txt > output.txt
Så kommer output, hver anden linie fra Danish.txt, i output.txt filen.
Du skal køre kommandoen i en kommando-prompt.
25. marts 2008 - 02:42
#6
Hej igen
Bære an med mig :-)
Jeg gjorede følgende :
Kopirede disse :
@echo off
set first=1
for /F "tokens=*" %%I in ('type %1') do call :Process "%%I"
goto :eof
:Process
if %first% EQU 1 (
echo %~1
set first=0
) else (
set first=1
)
i en tekst fil og omdøbte den til rename.bat, smid Danish.txt + remane.bat i en mappe og exevirede rename.bat, men der skete intet, fik ikke noget output.txt ???
vh..
25. marts 2008 - 02:43
#7
ohh så ikke de sidste line i dit svar :-.) prøver lige igen
25. marts 2008 - 02:47
#8
LoL kan bare ikke det her, beklager :-) men du får stadig 200 for at have prøvet :-)
Har du 2. sec til at gøre det for mig hvis jeg uploade Danish.txt til dig heheheh
25. marts 2008 - 02:51
#9
Du kan lave .bat filen om til:
@echo off
del /Q Output.txt>nul 2>&1
set first=1
for /F "tokens=*" %%I in ('type Danish.txt') do call :Process "%%I"
goto :eof
:Process
if %first% EQU 1 (
echo %~1 >>Output.txt
set first=0
) else (
set first=1
)
Så kan du køre den ved at dobbelt klikke på .bat filen.
Jeg er på vej i seng.
25. marts 2008 - 02:54
#10
Wow næsten :-)
det virkede men får ikke alle ordene med, nogle ser sådan ud :
anmeldelse
annonce
anrette
ansatte
ECHO er sl†et fra.
ECHO er sl†et fra.
ECHO er sl†et fra.
ECHO er sl†et fra.
ECHO er sl†et fra.
ECHO er sl†et fra.
ECHO er sl†et fra.
ECHO er sl†et fra.
ECHO er sl†et fra.
ECHO er sl†et fra.
ECHO er sl†et fra.
ECHO er sl†et fra.
ECHO er sl†et fra.
applaus
april
apropos
araber
arbejde
arbejder
arbejdsløs
Godnat og mange mange tak for hjælpen :-)
25. marts 2008 - 19:36
#11
Noget kunne tyde på at der er tomme linier i filen, kan det passe?
Du kan evt. uploade den, så skal jeg se på det.
25. marts 2008 - 19:51
#12
Hej igen
Og tak for at svarede, her er linket til filen, har uploadet den på myupload.dk :-)
http://www.myupload.dk/showfile/367701e215.rar/Jo der var mellemrum i teksten nu du nævner det :-) men du har sikkeret en løsning til det :-)
Håber at høre fra dig snarest ..
vh.
25. marts 2008 - 19:53
#13
Og så en lille ting til, hvordan afgiver jeg de 200p jeg afsat :-) det er snart længe siden ...
vh
25. marts 2008 - 20:37
#15
Jeg kikker på det.
25. marts 2008 - 20:46
#16
Prøv med denne, med den orginale Danish.txt
@echo off
del /Q Output.txt>nul 2>&1
for /F "delims=; tokens=*" %%I in ('type Danish.txt') do call :Process "%%I"
goto :eof
:Process
set QQ=%~1
set QQ=%QQ: =-%
set QQ=%QQ:~0,1%
if [%QQ%]==
echo %~1 >>output.txt
25. marts 2008 - 22:11
#17
Tada :-)
Nu til hvordan jeg kan overføre de 200 til dig :-) ???
Vh..
10000 tak for hjælpen
25. marts 2008 - 22:29
#18
Normal ville der blive lagt et "svar" som du derpå kunne acceptere og derved give point.
Men jeg samler ikke på point.
25. marts 2008 - 22:54
#19
:-) Du skal have MANGE tak, det sparede mig megen tid ....
Vh...
Kurser inden for grundlæggende programmering