E-post: salg@linmag.no



21.5.2012 - 23:35
 • Nyheter
 • Om Linux
 • Linuxskolen
 • Spørrespalte
 • Vitsespalte
 • LINUXmagasinet
 • Spill
 • WEBSHOP
 • Diskusjonsforum
 • Linker
 • For annonsører
 • English
 • Om oss
developer.ez.no
www.online4u.no

0

MS-Dos formaterte tekstfiler i Linux


Eg har ei mengd filer i ei mappe. No vil eg lage ein database av desse filane som eg kan søke i. Eg skriv slik:
”for kvar_fil in ’ls ./*’; do cat $kvar_fil > database.fil;done;”
Denne vil i SuSE 7.3 lage ein database eller samlefil som eg kan søke i med ’grep’ o.a. Men prøver eg på det same i SuSE 8.2 kjem feilmeldinga: bash: keine Berechtigung, - tilgang nekta – og namnet på den fyrste fila. Prøver eg under root kjem same svaret. Filene er filer som er skivne under programmet EDIT i Win98. Slettar eg alle lineterminatorar, 0x0d (^M), og andre skjermopplyste framandteikn for linux som eg får fram med ’vi –b’, hjelp dette ikkje det støv.(For å kunne skrive ut under linux må eg nemleg gjere dette, elles får eg feilmelding på gale format o.l.). Skalprogrammet heng og tek berre med den aller siste fila i ’databasen’.
Det er merkeleg at bash-skalet under SuSE 8.2 ikkje klarar denne bragden, men det må vere ein enkeltsak her som kan rettast. Kva gjer eg? Eg har ikkje prøvd å bruke noko slikt som:
for kvar_fil in …….do grep…..osv
Men det eg vil ha svar på er korleis ein kan gjere bash-skalet mottakeleg for det fyrste døme ovanfor under SuSE 8.2 sidan det elles går under SuSE 7.3.


Sigbjørn S.



Hei Sigbjørn.

Det første du ber om svarer du forsåvidt på selv, nemlig "Tilgang nekta". Du må gi brukeren du kjører kommandoen som tilgang til å lese filene. Se 'man chmod' og 'man chown'.
For å konvertere filer fra MS-Dos til Unix-format, kan du bruke kommandoen dos2unix. Se forøvrig http://linux.maruhn.com/sec/dos2unix.html.

Ellers gir både find og grep deg den funksjonaliteten du er ute etter. 'grep <søketekst> *', evt. 'find . -exec grep <søketekst> \;'.



Ole Øyvind


Kommentarliste

Det finnes ingen kommentarer

0







0 0