PS- eller BAT-script til sletning af data i CSV
|
23-02-2018, 14:06
(Denne besked var sidst ændret: 23-02-2018, 14:08 af leoodad.)
|
|||
|
|||
PS- eller BAT-script til sletning af data i CSV
Hej,
Jeg er ny i forum, så hej med Jer :) Jeg står med den udfordring at jeg har noget SQL kode som genererer en *.csv fil. Hver gang denne *.csv fil genereres, dannes der en linje i bunden som ikke skal anvendes senere i et forløb. Derfor søger jeg en som kan være behjælpelig med et script (OBS! Skal kunne afvikles i PS eller CMD), som altid kan slette sidste linje i filen, eller sørge for at slette alt data i sidste linje i filen. Jeg er kommet frem til følgende *.bat script, som er hugget direkte fra nettet, hvilket virker. Den sletter dog ikke den sidste linje, men sørger for at slette alt data i den sidste linje, så den står blank. Kode: @echo off Ovenstående virker og kan i realiteten bruges, men der er en lille ting som driller. Den *.csv fil (Navnpaafil_230218.csv) får en ny dato i navnet hver dag, med et dato stempel. Derfor har jeg behov for at wildcard, istedet for dato-navnet i scriptet. Jeg har forsøgt med stjerne (*) og spørgsmålstegn (?), dog uden hjælp. Nogen der lige har et skarpt bud på et andet script, eller blot lige kender tricket med at indsætte et wildcard, så vil jeg live meget glad. På forhånd tak. |
|||
24-02-2018, 12:31
(Denne besked var sidst ændret: 24-02-2018, 12:32 af Spagnum.)
|
|||
|
|||
RE: PS- eller BAT-script til sletning af data i CSV
hvad står der i den sidste linje af csv filen?
Don't learn to hack, hack to learn
|
|||
24-02-2018, 13:23
(Denne besked var sidst ændret: 24-02-2018, 13:34 af r2Ed.)
|
|||
|
|||
RE: PS- eller BAT-script til sletning af data i CSV
Du kan med fordel benytte sed fra cygwin sammen med de få dll filer som det kræver, og lave en bat fil med:
sed -i '$ d' <filnavn> edit: Hvis du vil lave noget selvstændigt uden at have det fulde cygwin liggende så skal du bruge disse dll filer sammen med sed.exe ldd sed.exe ntdll.dll => /cygdrive/c/WINDOWS/SYSTEM32/ntdll.dll (0x7ffdb2920000) KERNEL32.DLL => /cygdrive/c/WINDOWS/System32/KERNEL32.DLL (0x7ffdb0710000) KERNELBASE.dll => /cygdrive/c/WINDOWS/System32/KERNELBASE.dll (0x7ffdaf1c0000) cygwin1.dll => /usr/bin/cygwin1.dll (0x180040000) cygintl-8.dll => /usr/bin/cygintl-8.dll (0x3ffad0000) cygiconv-2.dll => /usr/bin/cygiconv-2.dll (0x3ffaf0000) Det kan godt ske at du skal have path med når du laver sed kommandoen fra kommando prompt - i så fald vil det være noget ala /cygdrive/c/foo for c:\foo |
|||
25-02-2018, 15:15
|
|||
|
|||
RE: PS- eller BAT-script til sletning af data i CSV
Kode: function Remove-Last() { |
|||
26-02-2018, 09:33
(Denne besked var sidst ændret: 26-02-2018, 09:35 af leoodad.)
|
|||
|
|||
RE: PS- eller BAT-script til sletning af data i CSV
(24-02-2018, 12:31)Spagnum Skrev: hvad står der i den sidste linje af csv filen? Der er en pil som pege mod højre hvis man åbner *.csv filen i notepad. Åbner man det i Notepad++ så ser man bare at der står SUB, se evt. her: https://imgur.com/a/JczT2 (25-02-2018, 15:15)BlimBlamBlar Skrev: Skal jeg antage at det fungerer, ved at køre det i PS? Jeg er ingen haj til PS, og har behov for hele scriptet. |
|||
26-02-2018, 13:33
|
|||
|
|||
RE: PS- eller BAT-script til sletning af data i CSV
Put ovenstående i et script (f.eks. kaldet remove-last.ps1) og eksekver det mod en fil:
Kode: PS /tmp> Get-Content ./remove-last.ps1 |
|||
|
User(s) browsing this thread: 1 Gæst(er)