Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-03-2008, 10:07   #1
Gentoooo
Senior Member
 
Iscritto dal: Feb 2006
Messaggi: 298
[VBS / BATCH] Formattare testo

Ciao a tutti ...
Vorrei sapere se esiste un modo (immagino di si solo che non riesco a capire come) per formattare un file di testo con una logica precisa.

Mi spiego meglio, io ho un file di testo del tipo:

FAILED STRINGACHEMISERVE 123456 78979 4656666

Da cui vorrei eliminare tutto tranne appunto "STRINGACHEMISERVE" . Il file è sempre di questo formato, l'unica cosa che cambiano sono i numeri perchè sono numeri progressivi che cambiano di volta in volta.
Cmq si può dire che a me basterebbe eliminare tutto ciò che c'è prima del primo spazio e tutto ciò che c'è dopo il secondo spazio in modo da avere sempre e solo la parte che mi interessa.

Spero di essere stato abbastanza chiaro. Se ci son problemi fatemi sapere che cercherò di essere più esaustivo!

Grazie a tutti anticipatamente.
__________________

Mobile: iPhone 5
Tablet: Mediacom 102 s2
E-reader: Amazon Kindle 3
Netbook: Acer Aspire One D570
Notebook: Dell Studio 1558, Sony Vaio VGN-FZ21M
Console: Xbox 360, Nintendo Wii, Nintendo DS, Sony PSP
Desktop: AMD Opteron180 2x 2.4Ghz, ASUS A8N SLI-DELUXE, GEFORCE 6600GT, 2GB RAM

"Essere saggi aiuta, nella vita, ma io sono fatto a modo mio e non c'è un caz** da fare" Vasco Rossi
Gentoooo è offline   Rispondi citando il messaggio o parte di esso
Old 22-03-2008, 11:12   #2
stdecden
Member
 
L'Avatar di stdecden
 
Iscritto dal: Apr 2007
Messaggi: 263
Prova a dare un occhiata qui:
http://www.devguru.com/Technologies/...Ref/split.html
stdecden è offline   Rispondi citando il messaggio o parte di esso
Old 01-04-2008, 09:39   #3
Gentoooo
Senior Member
 
Iscritto dal: Feb 2006
Messaggi: 298
Ho provato a capire e seguire la guida ma con scarsissimo risultato...

Nessuno ha qualche idea su come fare??

Spiego meglio il problema:

Ricevo un file .txt scritto nel seguente formato:

Running PROCEDURA1 10026547 86541 543435
Running PROCEDURA2 10026544 86542 543436
Running PROCEDURA3 10026599 86543 543437

A questo punto avrei bisogno di uno script che vada a leggere questo file e mi elimini tutto ciò che non è "PROCEDURA...X" salvandomi un nuovo file o anche sovrascrivendo in modo corretto lo stesso.

Se vi può essere utile Running è l'unica parte sempre lunga uguale , mentre i nomi delle procedure ed i numeri che seguono sono sempre diversi (pur mantenendo sempre la stessa posizione)


...Grazie!!!!!!!
__________________

Mobile: iPhone 5
Tablet: Mediacom 102 s2
E-reader: Amazon Kindle 3
Netbook: Acer Aspire One D570
Notebook: Dell Studio 1558, Sony Vaio VGN-FZ21M
Console: Xbox 360, Nintendo Wii, Nintendo DS, Sony PSP
Desktop: AMD Opteron180 2x 2.4Ghz, ASUS A8N SLI-DELUXE, GEFORCE 6600GT, 2GB RAM

"Essere saggi aiuta, nella vita, ma io sono fatto a modo mio e non c'è un caz** da fare" Vasco Rossi
Gentoooo è offline   Rispondi citando il messaggio o parte di esso
Old 01-04-2008, 23:43   #4
john_revelator
Senior Member
 
L'Avatar di john_revelator
 
Iscritto dal: Jul 2007
Messaggi: 1092
Ti consiglierei di installare la powershell. Una volta installata, da esegui la richiami digitando powershell e ti muovi come col normale prompt dei comandi fino a raggiungere la cartella che contiene il file.

A questo punto ti basta digitare

gc nome_tuo_file.txt | % {$_.split(" ")[1]}

ed ottieni solo l'elenco delle procedure. In pratica usi lo spazio come separatore per crearti un array e richiami l'elemento in posizione 1 (cioè il secondo elemento).

Nel caso voglia generare un nuovo file di testo basta che redirezioni l'output.

gc nome_tuo_file.txt | % {$_.split(" ")[1]} > nuovo.txt

Spero di esserti stato utile.
john_revelator è offline   Rispondi citando il messaggio o parte di esso
Old 02-04-2008, 06:59   #5
Gentoooo
Senior Member
 
Iscritto dal: Feb 2006
Messaggi: 298
Grazie 1000 sei stato gentilissimo! Il tuo script funziona alla perfezione ma ho un ultimo "problemino" ... ho notato infatti che quando ricevo questo file gli spazi tra una parola non sono formattati correttamente!

Non capisco il perchè ma ti faccio un esempio...

Ho il file così:

Running procedura1 123 1415 66 777
Running procedura2 123 1415 66 778

Se lancio lo script così , non funziona...

Se invece da notepad o ultraedit mi posiziono davanti a procedura1 con il cursore, cancello lo spazio (che comunque è solo uno) e lo ricreo (click su barra spaziatrice) allora funziona tutto alla perfezione! (stessa cosa con i numeri che seguono)

A questo punto, ti/vi chiedo se esiste un altro script in grado di formattare meglio il testo, eliminando eventuali spazi di troppo o comunque ricreando gli spazi in un formato "standard"


Grazie ancora ...
__________________

Mobile: iPhone 5
Tablet: Mediacom 102 s2
E-reader: Amazon Kindle 3
Netbook: Acer Aspire One D570
Notebook: Dell Studio 1558, Sony Vaio VGN-FZ21M
Console: Xbox 360, Nintendo Wii, Nintendo DS, Sony PSP
Desktop: AMD Opteron180 2x 2.4Ghz, ASUS A8N SLI-DELUXE, GEFORCE 6600GT, 2GB RAM

"Essere saggi aiuta, nella vita, ma io sono fatto a modo mio e non c'è un caz** da fare" Vasco Rossi
Gentoooo è offline   Rispondi citando il messaggio o parte di esso
Old 02-04-2008, 09:25   #6
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Gentoooo Guarda i messaggi
Ho il file così:

Running procedura1 123 1415 66 777
Running procedura2 123 1415 66 778

Se lancio lo script così , non funziona...

Se invece da notepad o ultraedit mi posiziono davanti a procedura1 con il cursore, cancello lo spazio (che comunque è solo uno) e lo ricreo (click su barra spaziatrice) allora funziona tutto alla perfezione! (stessa cosa con i numeri che seguono)
Prova ad aprire il file con un editor di testo e a visualizzare tutti i caratteri, anche quelli di spaziatura (dovrebbe esserci un'opzione apposita): potrebbe darsi che dove tu pensi ci sia uno spazio [" "] ci sia invece una tabulazione ["\t"].

Lo script cerca lo spazio come separatore, e se non c'è veramente un carattere di spazio... picche!
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 02-04-2008, 14:10   #7
john_revelator
Senior Member
 
L'Avatar di john_revelator
 
Iscritto dal: Jul 2007
Messaggi: 1092
Quote:
Originariamente inviato da Gentoooo Guarda i messaggi
Grazie 1000 sei stato gentilissimo! Il tuo script funziona alla perfezione ma ho un ultimo "problemino" ... ho notato infatti che quando ricevo questo file gli spazi tra una parola non sono formattati correttamente!

Non capisco il perchè ma ti faccio un esempio...

Ho il file così:

Running procedura1 123 1415 66 777
Running procedura2 123 1415 66 778

Se lancio lo script così , non funziona...

Se invece da notepad o ultraedit mi posiziono davanti a procedura1 con il cursore, cancello lo spazio (che comunque è solo uno) e lo ricreo (click su barra spaziatrice) allora funziona tutto alla perfezione! (stessa cosa con i numeri che seguono)

A questo punto, ti/vi chiedo se esiste un altro script in grado di formattare meglio il testo, eliminando eventuali spazi di troppo o comunque ricreando gli spazi in un formato "standard"


Grazie ancora ...

Ciao. Cosa intendi per non funziona? Ho fatto una prova inserendo vari spazi e tabulazioni e con questo codice sembra funzionare tutto bene.

gc tuo_file.txt | % {$_ -replace "\t+|\s+"," "} | % {$_.split(" ")[1]}

Facci sapere

Ultima modifica di john_revelator : 02-04-2008 alle 14:59.
john_revelator è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2008, 07:09   #8
Gentoooo
Senior Member
 
Iscritto dal: Feb 2006
Messaggi: 298
6 un grande!!

Funziona pefettamente

Mi puoi solo spiegare meglio lo scritp ?

gc tuo_file.txt | % {$_ -replace "\t+|\s+"," "} | % {$_.split(" ")[1]}

Praticamente gli dici replace tutte le tabulazioni (\t) e tutti gli spazi (\s) in eccesso ?

Sto cercando di entrare adesso nel "mondo" della powershell e ancora non ci capisco gran chè!

thxxxx

PS: ho provato a fare un file .bat con il comando di cui sopra ma il batch non va... Con la powershell funziona in modo diverso ?
__________________

Mobile: iPhone 5
Tablet: Mediacom 102 s2
E-reader: Amazon Kindle 3
Netbook: Acer Aspire One D570
Notebook: Dell Studio 1558, Sony Vaio VGN-FZ21M
Console: Xbox 360, Nintendo Wii, Nintendo DS, Sony PSP
Desktop: AMD Opteron180 2x 2.4Ghz, ASUS A8N SLI-DELUXE, GEFORCE 6600GT, 2GB RAM

"Essere saggi aiuta, nella vita, ma io sono fatto a modo mio e non c'è un caz** da fare" Vasco Rossi

Ultima modifica di Gentoooo : 03-04-2008 alle 07:21.
Gentoooo è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2008, 08:42   #9
john_revelator
Senior Member
 
L'Avatar di john_revelator
 
Iscritto dal: Jul 2007
Messaggi: 1092
Quote:
Originariamente inviato da Gentoooo Guarda i messaggi
6 un grande!!

Funziona pefettamente

Mi puoi solo spiegare meglio lo scritp ?

gc tuo_file.txt | % {$_ -replace "\t+|\s+"," "} | % {$_.split(" ")[1]}

Praticamente gli dici replace tutte le tabulazioni (\t) e tutti gli spazi (\s) in eccesso ?

Sto cercando di entrare adesso nel "mondo" della powershell e ancora non ci capisco gran chè!

thxxxx

PS: ho provato a fare un file .bat con il comando di cui sopra ma il batch non va... Con la powershell funziona in modo diverso ?
Ti spiego rapidamente lo script.

gc è un alias di get-content e serve per vedere il contenuto del file.
Tramite la pipe (|) il comando get-content viene passato all'istruzione successiva. Il simbolo di % è la forma contratta del cmdlet foreach-object e serve per ciclare ciascuna riga del file. $_ indica l'oggetto corrente (in questo caso quindi la riga in esame) alla quale si applica il replace di una o più occorrenze del carattere di tabulazione e del carattere spazio con un singolo spazio. Tramite la pipe successiva, una volta effettuata la sostituzione, si cicla ancora il file modificato e si "splitta" il contenuto in base al carattere spazio recuperando il secondo elemento dell'array.

Per quanto riguarda il batch ricordo di aver letto che fosse possibile richiamare la powershell anche tramite file .bat ma non ricordo come. (Sono agli inizi anch'io con questo bel giocattolino ).
Prova a fare una ricerca su google, magari quando ho un attimo di tempo lo faccio anch'io.
john_revelator è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2008, 13:10   #10
Gentoooo
Senior Member
 
Iscritto dal: Feb 2006
Messaggi: 298
Perfetto mi è tutto MOOOLTO più chiaro!
Mi sono scaricato il manuale e la powergui e sto cercando di capirne sempre di più..

grazie ancora so su chi poter contare nel caso avessi ancora bisogno


ciao
__________________

Mobile: iPhone 5
Tablet: Mediacom 102 s2
E-reader: Amazon Kindle 3
Netbook: Acer Aspire One D570
Notebook: Dell Studio 1558, Sony Vaio VGN-FZ21M
Console: Xbox 360, Nintendo Wii, Nintendo DS, Sony PSP
Desktop: AMD Opteron180 2x 2.4Ghz, ASUS A8N SLI-DELUXE, GEFORCE 6600GT, 2GB RAM

"Essere saggi aiuta, nella vita, ma io sono fatto a modo mio e non c'è un caz** da fare" Vasco Rossi
Gentoooo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
SpaceX ha confermato che Flight 14 sar&a...
Googlebook pronto al debutto: Google apr...
Guida all'acquisto: quale lavapavimenti ...
Google Maps su Android Auto introduce fi...
AMD Ryzen 5 5500F: fino al 16% di presta...
L'ecosistema partner di Microsoft cresce...
Oracle registra un boom nella divisione ...
Amazon Prime Video sfida TikTok con le n...
L'uscita di Rayman Legends Retold &egrav...
Dazio UE sui pacchi extra UE, in Italia ...
La nuova lavatrice smart di Xiaomi ha tr...
Hai una PSP nel cassetto? Questo nuovo p...
Oracle presenta Java 27 con diverse novi...
Il microscopio dell'EPFL vede più...
Volvo avvia la produzione dei nuovi cami...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:15.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v