bobafett Skrevet 6. oktober 2005 Del Skrevet 6. oktober 2005 (endret) Har endel awk-scripts i katalogen "/home/br_1/scripts/". Disse kjøres fra katalogen "/home/br_1/bin", som også ligger i søkestien. Ett typisk script i bin ser slik ut: "awk -f /home/br_1/scripts/program_1.awk $1" Kan sikker virke litt tungvint, men nå kan jeg hvor som helst skrive: "program_1 fil" uten å måtte skrive awk -f sti fil. Nå jobber jeg på en ny maskin med ett annet brukernavn. f.eks "br_2" Håper å kunne slippe å editere hver eneste fil i en editor. Er det mulig å endre stien fra "/home/br_1/" til "/home/br_2/" i hvert script fra kommandolinja? Endret 6. oktober 2005 av bobafett Lenke til kommentar
objorkum Skrevet 6. oktober 2005 Del Skrevet 6. oktober 2005 Bruk $HOME istaden for å spesifisere brukar. $HOME er det same som /home/<brukarnamn> Lenke til kommentar
bobafett Skrevet 6. oktober 2005 Forfatter Del Skrevet 6. oktober 2005 Skal bruke det fra nå av. Burde ha tenkt på det da jeg skrev scriptene. Man det jeg ønsker er å forandre dette fra kommandolinja, evt. script. Har nemlig 64 script som skal endres. Nå endrer jeg dem etterhvert som jeg trenger dem. Men det hadde vært fint å tatt alle på en gang. Lenke til kommentar
objorkum Skrevet 6. oktober 2005 Del Skrevet 6. oktober 2005 Er ikkje heilt sikker på om eg har forstått det her, men det er vel betre å mekke eit script i /usr/local/bin f.eks, då har alle brukarar tilgang på det scriptet. Så brukar du $HOME-variabelen. Lenke til kommentar
bobafett Skrevet 6. oktober 2005 Forfatter Del Skrevet 6. oktober 2005 Dette handler i utgangspunktet ikke om hvor ting blir plassert. Jeg jobber på en maskin med flere brukere, og det er bare JEG som skal kjøre disse scriptene. Ser nå at det hadde vært lurt å lagt dem et annet sted, men slik er det ikke. Så egentlig er det bare EN ting jeg lurer på, og det er om det er mulig å bytte tekst i flere tekstfiler uten å åpne dem i en editor. Er jeg på vei i feil retning når jeg antar at "sed" kan fikse dette? Leser om dette nå. Lenke til kommentar
bobafett Skrevet 6. oktober 2005 Forfatter Del Skrevet 6. oktober 2005 (endret) Fant løsningen: Lager først en ny katalog, bin_2. Kjører dette stående i bin: for i in *; do sed 's/\/home\/br_1/\$HOME/' < $i > ../bin_2/$i done Så er det bare å overskrive de gamle filene med de nye. Enkelt og greit. (nå er jeg rimelig fornøyd med meg selv) Endret 6. oktober 2005 av bobafett Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå