Sostituire parole in un file di testo comandi bash/shell

Linguaggi di programmazione: php, perl, python, C, bash, ecc.

Sostituire parole in un file di testo comandi bash/shell

Messaggioda JordanDunk » martedì 16 maggio 2017, 9:58

Buongiorno a tutti, sono incappato in un piccolo problema mentre stavo scrivendo un Script. Nel mio script voglio che l'utente possa modificare determinati campi di un file di testo. Il file da modificare è il seguente:

Aragon:ilritornodelre:12:1000:il legittimo re:/home/aragon:/bin/bash
Gimmly:777888999:66:800:moria mia:/home/gimmly:/bin/bash
Legolas:odioinani:99:42:biondo arco:/home/legolas:/bin/bash
Frodo:pass111:23:1000:il portatore:/home/frodo:/bin/bash
Gollum:19191919:200:67:il mio tessssoro:/home/Gollum:/bin/bash
Sauron:unanelloperdomarli:10:20:the boss of the montefato:/home/Sauron/:/bin/bash
Aragon 2:aragonpass:13:32:the secret account of Aragon:/home/private/aragonhide/:/bin/hidebash

L'utente inserisce il nome utente da modificare es: Aragon,Gimmly,Legolas... poi lo script chiede di modificare tutti i campi della riga, tranne il primo(username) e il terzo(UID)

es: se nel mio script inserisco Aragon, poi devo inserire una nuova passwd(1234), nuovo nome del gruppo di appartenenza(800), nuovo commento(ramingo), nuova home relativa all'utente(/home/aragonnew) e nuova shell da visualizzare(/bin/newbash). l'output sarà quindi:

Aragon:1234:12:800:ramingo:/home/aragonnew:/bin/newbash
Gimmly:777888999:66:800:moria mia:/home/gimmly:/bin/bash
Legolas:odioinani:99:42:biondo arco:/home/legolas:/bin/bash
Frodo:pass111:23:1000:il portatore:/home/frodo:/bin/bash
Gollum:19191919:200:67:il mio tessssoro:/home/Gollum:/bin/bash
Sauron:unanelloperdomarli:10:20:the boss of the montefato:/home/Sauron/:/bin/bash
Aragon 2:aragonpass:13:32:the secret account of Aragon:/home/private/aragonhide/:/bin/hidebash

Qualcuno può gentilmente spiegarmi come farlo? grazie :)
JordanDunk
Prode Principiante
 
Messaggi: 54
Iscrizione: aprile 2017
Desktop: Ubuntu
Distribuzione: Ubunto 16.10 | x86_64
Sesso: Maschile

Re: Sostituire parole in un file di testo comandi bash/shell

Messaggioda steff » martedì 16 maggio 2017, 10:26

Il forum non è pensato per fare i compiti agli utenti - se non porti uno straccio di codice tuo con quale continuare i dubbi sono questi.
Hai fatto il backup oggi? Ieri?? Quando???
La Documentazione da consultare e la FAQ sul uso del forum
Sistemi: LXQt - semplice, modulare e configurabile + *ubuntu in Vbox
Avatar utente
steff
Moderatore Globale
Moderatore Globale
 
Messaggi: 36148
Iscrizione: febbraio 2007
Località: Toscana
Desktop: LXQt
Distribuzione: Arch Linux 64bit
Sesso: Maschile

Re: Sostituire parole in un file di testo comandi bash/shell

Messaggioda JordanDunk » martedì 16 maggio 2017, 10:32

@steff io ci sto provando a farlo da solo, ma essendo che sto facendo tutto da autodidatta appena si complicano le cose vado in pappa con lo script. Per sostituire una singola parola nel file riesco ma quando lavoro su più stringhe da modificare non mi viene.
JordanDunk
Prode Principiante
 
Messaggi: 54
Iscrizione: aprile 2017
Desktop: Ubuntu
Distribuzione: Ubunto 16.10 | x86_64
Sesso: Maschile

Re: Sostituire parole in un file di testo comandi bash/shell

Messaggioda crap0101 » mercoledì 17 maggio 2017, 20:15

però ti consiglio di utilizzare una sola discussione per il medesimo problema, ne hai aperte cinque praticamente identiche... anche quando parte del problema è risolto ma sopraggiungono altri intoppi relativi ai precedenti continua nella stessa, altrimenti non ci si capisce più nulla!
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
 
Messaggi: 8147
Iscrizione: ottobre 2007
Località: TO
Desktop: Lubuntu
Distribuzione: Ubuntu 14.04.3 LTS
Sesso: Maschile

Re: Sostituire parole in un file di testo comandi bash/shell

Messaggioda JordanDunk » giovedì 18 maggio 2017, 9:56

Si vero @crap0101 ho fatto un pò un macello :(
JordanDunk
Prode Principiante
 
Messaggi: 54
Iscrizione: aprile 2017
Desktop: Ubuntu
Distribuzione: Ubunto 16.10 | x86_64
Sesso: Maschile


Torna a Programmazione

Chi c’è in linea

Visualizzano questa sezione: 0 utenti registrati e 4 ospiti