Debianizzati.Org | Forum | Blog | Guide | IRC
 
 
Forum Italiano Debian - Debianizzati.Org
Agosto 30, 2008, 04:52:24 am *
Benvenuto, Visitatore. Per favore, effettua il login o registrati.
Hai perso la tua email di attivazione?

Login con username, password e lunghezza della sessione
News:
 
   Home   Help Ricerca Calendario Login Registrati  
Pagine: [1]   Vai Giù
  Stampa  
Autore Topic: Inserire testo in un file in modo ricorsivo  (Letto 487 volte)
0 Utenti e 1 Visitatore stanno guardando questo topic.
pirpy
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 42


Guarda Profilo Email
« il: Ottobre 16, 2007, 09:07:17 pm »

Ho questo problema:
ho un file con una lista di nomi fatto in questa maniera:

file_listanomi
mario
antonio
sara
maria
mara
paolo
mariarosa
....

vorrei creare un file che per ogni nome contenuto in file_listanomi avesse le seguenti righe:

file_risultato
<mario>
</mario>
<antonio>
</antonio>
<sara>
</sara>
.....
.....

come posso fare?
Grazie in anticipo per il vostro aiuto
Loggato
tindal
Administrator
Hero Member
*****

Karma: +60/-1
Offline Offline

Posts: 2475


Guarda Profilo Email
« Risposta #1 il: Ottobre 16, 2007, 09:38:19 pm »

per es. così:
Codice:
for name in $(cat file) ; do echo -en "<$name>\n<\\"; echo "$name>";done

nota: il primo comando echo interpreta i caratteri di escape (opzione -e), così va a capo con \n (che ci serve), fa un tab con \t e produce un suono con \a, se però un nome inizia con "n", "t" o "a" questo fa sì che, per es., la stringa <\antonio> che vogliamo scrivere diventi <BIPntonio> (provare per credere)

a me è venuto in mente solo il workaround che ho scritto, ma probabilmente ce ne sono altri

ciao
tindal
Loggato

Se ci sono molti modi diversi per fare una certa cosa, ed uno di questi ha conseguenze disastrose, di sicuro qualcuno la farà in quel modo.
metaldaze
Global Moderator
Hero Member
*****

Karma: +24/-2
Offline Offline

Posts: 911


Guarda Profilo
« Risposta #2 il: Ottobre 17, 2007, 02:18:00 am »

Un'alternativa sarebbe mischiarci un po' di perl

perl -e 'foreach (`cat file`) { chomp; system("echo \"<$_>\n</$_>\"")}'

ma in termini di lunghezza del comando non cambia nulla direi Smiley
« Ultima modifica: Ottobre 17, 2007, 11:00:58 am da metaldaze » Loggato
Finn
Global Moderator
Hero Member
*****

Karma: +26/-1
Offline Offline

Posts: 1025


207002659
Guarda Profilo
« Risposta #3 il: Ottobre 17, 2007, 07:47:33 am »

Concordo con le soluzioni postate da tindal e metaldaze (più con il primo ma per una mia avversione al perl Tongue)

Solo non mi è chiaro il "in modo ricorsivo", le soluzioni proposte sono iterative, si può fare anche ricorsivamente ma mi sembra uno spreco di risorse.

Giusto per i posteri, questo è un abbozzo di sistema ricorsivo (ovvero non l'ho testato ma dovrebbe rendere l'idea):
Codice:
#!/bin/bash

print_recursive() {
if [ "$*" ]; then
echo -e "<$1>\n<\\$1>\n"
shift
print_recursive "$@"
fi
}

print_recursive `cat file_listanomi`
« Ultima modifica: Ottobre 17, 2007, 07:49:09 am da Finn » Loggato
jejenio
e-zine member
Jr. Member
*

Karma: +0/-0
Offline Offline

Posts: 55


Guarda Profilo Email
« Risposta #4 il: Ottobre 19, 2007, 07:50:18 am »

Per par-condicio, versione per chi adora il perl:

Codice:
#!/usr/bin/perl -w
#

if(open(F,$ARGV[0])){
    while(<F>) {
        chomp;
        print "<$_>\n</$_>\n";
    }
} else {
    print STDERR "$!\n";
}

da usare così:

$ nome_script file_listanomi > file_risultato

Ciao
Loggato
Pagine: [1]   Vai Su
  Stampa  
 
Salta a:  

Altri Topic Correlati
Oggetto Iniziato da Risposte Visto Ultimo Post
Sostituire/Aggiungere testo in un file Scripting pirpy 9 884 Ultimo Post Agosto 06, 2007, 02:42:45 pm
da pirpy
Condividere file in lan in modo sicuro. come? Network Krayn 5 291 Ultimo Post Maggio 06, 2007, 01:42:36 pm
da Eremar
Procmail: incompatibilità inspiegabile con file di testo Network gattaccio7 0 113 Ultimo Post Ottobre 29, 2007, 08:47:18 am
da gattaccio7
manipolazione di un luungo file di testo: Scripting Barzi 3 430 Ultimo Post Dicembre 02, 2007, 05:25:17 pm
da gallows
Aggiungere testo di un file in un altro file Scripting pirpy 2 387 Ultimo Post Novembre 26, 2007, 01:41:50 pm
da pirpy
Powered by MySQL Powered by PHP Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks
Traduzione Italiana a cura di SMItalia
XHTML 1.0 Valido! CSS Valido!
Pagina creata in 0.135 secondi con 23 queries.