Kopiera innehåll ur alltför stor textfil?
32 inlägg
• Sida 2 av 2 • 1, 2
Re: Kopiera innehåll ur alltför stor textfil?
Bjäbbmonstret skrev:Nej filen innehöll inga radbrytningar från början.
Är du säker på det?
Det finns radbrytningar som vissa textredigerare missar eftersom de frångår standarden för radbrytningar i det system man använder.
Vanligt är CR+LF (Carriage Return och Line Feed), en del system har bara CR och en del bara LF...
Leta rätt på en textredigerare som har konfigurerbar radbrytning eller använd en HEX-editor där man direkt ser om det finns CR (hexkod 0D) eller LF (hexkod 0A).
Re: Kopiera innehåll ur alltför stor textfil?
Miche skrev:Bjäbbmonstret skrev:Nej filen innehöll inga radbrytningar från början.
Är du säker på det?
Det finns radbrytningar som vissa textredigerare missar eftersom de frångår standarden för radbrytningar i det system man använder.
Vanligt är CR+LF (Carriage Return och Line Feed), en del system har bara CR och en del bara LF...
Leta rätt på en textredigerare som har konfigurerbar radbrytning eller använd en HEX-editor där man direkt ser om det finns CR (hexkod 0D) eller LF (hexkod 0A).
Bra poäng, Miche.
Om jag minns rätt är standarden följande:
- Unix/Linux: CR+LF
- Windows: CR
- Mac: LF
Oklart dock om Mac håller fast vid den standarden eftersom det numera är Unix under huven. Oavsett Mac följer "gammal Macstandard" eller Unixstandard, så blir det fel om det är en Windowsfil det handlar om, eftersom den normalt inte innehåller några LF vid radbrytningarna.
Prova om någon av de textredigerare du använder klarar att söka på och byta ut kontrolltecken. I så fall går det "enkelt" att ändra de radslut som eventuellt redan finns så de blir rätt för din dator.
Hur stor är filen, förresten?
Re: Kopiera innehåll ur alltför stor textfil?
Kvasir skrev:Om jag minns rätt är standarden följande:
- Unix/Linux: CR+LF
- Windows: CR
- Mac: LF
Du minns tyvärr fel.
Windows är CR+LF, Unix (oftast) CR och det finns exempel på system som paddar varje record med NUL till 80 teckens bredd och alltså inte har några radbrytningar per se, gamla stordator-OS comes to mind
Re: Kopiera innehåll ur alltför stor textfil?
Går det att söka upp artiklarna på nätet och kopiera dem därifrån?
Tips för att undvika liknande problem i framtiden:
Om jag vill spara något som plain text så klistrar jag in det i ett tomt mejl och ber mejlprogrammet avformatera. Om jag sedan vill ha det lätt tillgängligt sparar jag det som utkast i mejlprogrammet.
Tips för att undvika liknande problem i framtiden:
Om jag vill spara något som plain text så klistrar jag in det i ett tomt mejl och ber mejlprogrammet avformatera. Om jag sedan vill ha det lätt tillgängligt sparar jag det som utkast i mejlprogrammet.
Re: Kopiera innehåll ur alltför stor textfil?
Inger skrev:Om jag vill spara något som plain text så klistrar jag in det i ett tomt mejl och ber mejlprogrammet avformatera. Om jag sedan vill ha det lätt tillgängligt sparar jag det som utkast i mejlprogrammet.
Även Notpad/Anteckningar funkar för ändamålet, men jag vet inte hur det är i Mac-världen...
Re: Kopiera innehåll ur alltför stor textfil?
Jag har ingen Mac här hemma (dock på jobbet) så jag kan inte testa, men eftersom det finns en UNIX-kommandorad så ska följande fungera. Det är ett kommando som delar upp filen i smådelar, på 10KiB vardera. Vill du ha större/mindre filer så ändra värdet på size i kommandot.
1. Skapa en katalog med med namnet "ZZZ" på skrivbordet, kopiera filen dit
2. Starta terminalen
3. Skriv "cd Desktop" <ENTER>
4. Skriv "cd ZZZ" <ENTER>
5. Kopiera in följande, men ändra filnamn.html till namnet på filen du vill dela upp:
6. Tryck <ENTER>
I katalogen borde det nu finnas ett antal filer med namn filnamn.html.1.txt, filnam.html.2.txt, ...
1. Skapa en katalog med med namnet "ZZZ" på skrivbordet, kopiera filen dit
2. Starta terminalen
3. Skriv "cd Desktop" <ENTER>
4. Skriv "cd ZZZ" <ENTER>
5. Kopiera in följande, men ändra filnamn.html till namnet på filen du vill dela upp:
- Kod: Markera allt
filename="filnamn.html"; size=10240; \
i=1; filesize=$(wc -c "$filename"|cut -d " " -f 1); \
while [ $((($i-1) * size)) -lt $filesize ]; do \
dd if=$filename of=$filename."$i".txt bs=$size count=1 skip=$(($i-1)) 2>/dev/null; i=$(($i + 1)); \
done
6. Tryck <ENTER>
I katalogen borde det nu finnas ett antal filer med namn filnamn.html.1.txt, filnam.html.2.txt, ...
- Sammelsurium
- Inlägg: 588
- Anslöt: 2009-11-29
Re: Kopiera innehåll ur alltför stor textfil?
Ska vi vara på det viset fungerar split(1) alldeles utmärkt.
För dom som inte fattat RTFM:
$ split filen
yxar isär filen till bitar som är 1000 rader styck. -l <radantal> för att få andra storlekar.
För dom som inte fattat RTFM:
$ split filen
yxar isär filen till bitar som är 1000 rader styck. -l <radantal> för att få andra storlekar.
Re: Kopiera innehåll ur alltför stor textfil?
Se där, split kände jag inte till, men anade att det skulle finnas ett separat verktyg för det.
- Sammelsurium
- Inlägg: 588
- Anslöt: 2009-11-29