Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Borderlands 4, tra divertimento e problemi tecnici
Recensione Borderlands 4, tra divertimento e problemi tecnici
Gearbox Software rilancia la saga con Borderlands 4, ora disponibile su PS5, Xbox Series X|S e PC. Tra le novità spiccano nuove abilità di movimento, un pianeta inedito da esplorare e una campagna che lascia al giocatore piena libertà di approccio
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale
NXTPAPER 60 Ultra è il primo smartphone con tecnologia NXTPAPER 4.0 per il display, un ampio IPS da 7,2 pollici. Con finitura anti-riflesso, processore MediaTek Dimensity 7400, fotocamera periscopica e modalità Max Ink per il detox digitale, NXTPAPER 60 Ultra punta a essere il riferimento tra gli smartphone pensati per il benessere degli occhi.
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming
Questo mouse ultraleggero, con soli 36 grammi di peso, è stato concepito per offrire un'esperienza di gioco di alto livello ai professionisti degli FPS, grazie al polling rate a 8.000 Hz e a un sensore ottico da 33.000 DPI. La recensione esplora ogni dettaglio di questo dispositivo di gioco, dalla sua agilità estrema alle specifiche tecniche che lo pongono un passo avanti
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-05-2010, 22:37   #1
Robertus
Senior Member
 
L'Avatar di Robertus
 
Iscritto dal: Jun 2007
Messaggi: 444
Help nel sostituire una parola con un'altra, dentro un file

ciao a tutti

ho un'esigenza che non riesco a soddisfare, nonostante abbia tentato con sed, invano...

io ho diversi file su un hard disk, sparsi in diverse directory, con estensione *avs, ma i nomi dei file sono diversi, cio' che li accomuna è l'estensione.

(avs è un file di testo, puo' anche essere .txt, ma è avs perchè è uno script di avysinth, che serve per l'encoding video.)


il mio problema è poter in un colpo solo, modificare dentro ogni file avs, la parola AVCSource con DirectShowSource, e la parola .dga con .ts


solitamente un file si presenta cosi':

LoadPlugin("C:\Program Files\MeGUI\tools\dgavcindex\DGAVCDecode.dll")
AVCSource("F:\Documenti\Script\test.dga")
#deinterlace
#crop
#resize
#denoise
Lanczos4Resize(1280,720) # Lanczos4 (Sharp)

ripeto, ho provato con sed ma senza successo, non riesco a modificare il file avs direttamente e neppure riesco a modificare nello stesso tempo due parole, sempre prima avcsource e poi .dga

attendo qualche aiuto, penso sia molto semplice per voi.

grazie ancora
Robertus è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2010, 23:04   #2
Teo@Unix
Senior Member
 
L'Avatar di Teo@Unix
 
Iscritto dal: Mar 2009
Messaggi: 753
-Per trovare tutti i file con quella estensione potresti usare find
-L'output sono tante righe quante i file trovati, magari lo redirezioni su un file temporaneo...
-Ogni riga è una path completa, quindi puoi creare un ciclo for su questo file che per ogni riga esegue cat <riga> | sed 's/.... > sostituzioni che devi fare nel file>

Credo vada bene per quello che vuoi fare. Fai un pò di prove, ma dovrebbe essere ok.

ora non ho tempo ma dovrebbe venire una cosa del tipo,


Codice:
find / -name *.avs > tempfile

for line in $tempfile
do
     cat line | sed 's/..... ecc...
done
Teo@Unix è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2010, 23:33   #3
Robertus
Senior Member
 
L'Avatar di Robertus
 
Iscritto dal: Jun 2007
Messaggi: 444
Quote:
Originariamente inviato da Teo@Unix Guarda i messaggi
-Per trovare tutti i file con quella estensione potresti usare find
-L'output sono tante righe quante i file trovati, magari lo redirezioni su un file temporaneo...
-Ogni riga è una path completa, quindi puoi creare un ciclo for su questo file che per ogni riga esegue cat <riga> | sed 's/.... > sostituzioni che devi fare nel file>

Credo vada bene per quello che vuoi fare. Fai un pò di prove, ma dovrebbe essere ok.

ora non ho tempo ma dovrebbe venire una cosa del tipo,


Codice:
find / -name *.avs > tempfile

for line in $tempfile
do
     cat line | sed 's/..... ecc...
done
ho provato ma non ci riesco, magari sbaglio io.

Codice:
find / -name *.avs > tempfile

for line in $tempfile
do
     cat 2 | sed 's/ AVCSource > directshowsource >
done
Robertus è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2010, 08:08   #4
Teo@Unix
Senior Member
 
L'Avatar di Teo@Unix
 
Iscritto dal: Mar 2009
Messaggi: 753
La parte con find è corretta.

E' un pò più complicato dopo, ho fatto io però ti consiglio di studiarti un pò di scripting bash, per queste cose fa risparmiare ore e ore di lavoro

lo script:

Codice:
#!/bin/sh -
find / -name *.avs > tempfile

exec 3<&0
exec < tempfile
while true
do
   read direct || break
   cat $direct | sed 's/AVCSource/DirectShowSource/g' | sed 's/.dga/.ts/g' > `eval echo $direct`
   cat $direct
   echo ""
done
exec 0<&3 3<&-
echo END
rm tempfile
il secondo cat nel ciclo stampa il contenuto del file dopo la sostituzioni, così verifiche che sia tutto ok.

Dovrebbe andare, non l'ho provato, magari fai una prova prima restringendo la ricerca di find a una cartella...
Teo@Unix è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2010, 09:13   #5
MaxArt
Senior Member
 
L'Avatar di MaxArt
 
Iscritto dal: Apr 2004
Città: Livorno
Messaggi: 6661
Notepad++ ha gli strumenti che ti servono. Fa ricerca e sostituzione nei file, anche con espressioni regolari.
Tanto per non cercare qualcosa di troppo esotico
__________________
HWU Rugby Group :'( - FAQ Processori - Aurea Sectio - CogitoWeb: idee varie sviluppando nel web
MaxArt è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2010, 11:56   #6
Robertus
Senior Member
 
L'Avatar di Robertus
 
Iscritto dal: Jun 2007
Messaggi: 444
Quote:
Originariamente inviato da Teo@Unix Guarda i messaggi
La parte con find è corretta.

E' un pò più complicato dopo, ho fatto io però ti consiglio di studiarti un pò di scripting bash, per queste cose fa risparmiare ore e ore di lavoro

lo script:

Codice:
#!/bin/sh -
find / -name *.avs > tempfile

exec 3<&0
exec < tempfile
while true
do
   read direct || break
   cat $direct | sed 's/AVCSource/DirectShowSource/g' | sed 's/.dga/.ts/g' > `eval echo $direct`
   cat $direct
   echo ""
done
exec 0<&3 3<&-
echo END
rm tempfile
il secondo cat nel ciclo stampa il contenuto del file dopo la sostituzioni, così verifiche che sia tutto ok.

Dovrebbe andare, non l'ho provato, magari fai una prova prima restringendo la ricerca di find a una cartella...
nulla da fare, non mi restituisce lo stesso file modificato, e il file temp è vuoto
Robertus è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2010, 12:26   #7
Robertus
Senior Member
 
L'Avatar di Robertus
 
Iscritto dal: Jun 2007
Messaggi: 444
Quote:
Originariamente inviato da MaxArt Guarda i messaggi
Notepad++ ha gli strumenti che ti servono. Fa ricerca e sostituzione nei file, anche con espressioni regolari.
Tanto per non cercare qualcosa di troppo esotico
scusa ma in che modo notepad++ puo' essere d'aiuto?

perchè non vedo innanzitutto alcuna possibilita' nel poter cercare dei file con una determinata estensione all'interno di una unita'

edit: se uso il find in cartelle, il programma va in crash, eheh e non riesco tra l'altro a mettere due parole da sostituire. sono un po' noob non voletemi male

edit2: ho fatto un po di prove, pero' non capisco bene come poter modificare piu' espressioni all'interno dello stesso file, senza quindi dover operare prima per sostituire .dga in .ts e poi avcsource in directshowsource

sarebbe bello se si potesse creare un .bat che faccia in automatico con un click

Ultima modifica di Robertus : 12-05-2010 alle 12:48.
Robertus è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2010, 12:43   #8
Teo@Unix
Senior Member
 
L'Avatar di Teo@Unix
 
Iscritto dal: Mar 2009
Messaggi: 753
Quote:
Originariamente inviato da Robertus Guarda i messaggi
nulla da fare, non mi restituisce lo stesso file modificato, e il file temp è vuoto
se tempfile è vuoto significa che non ha trovato file .avs

Hai fatto un prova?

tipo così: (fai un file prova.txt con all'interno la stringa "testo" e inseriscilo nella dir root)

Codice:
#!/bin/sh -
find /root -name *.txt > tempfile

exec 3<&0
exec < tempfile
while true
do
   read direct || break
   cat $direct | sed 's/testo/replaced/g' > `eval echo $direct`
   cat $direct
   echo ""
done
exec 0<&3 3<&-
echo END
rm tempfile
lo script è corretto l'ho provato a me funziona.
Ti da degli errori?
Teo@Unix è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2010, 12:54   #9
MaxArt
Senior Member
 
L'Avatar di MaxArt
 
Iscritto dal: Apr 2004
Città: Livorno
Messaggi: 6661
Quote:
Originariamente inviato da Robertus Guarda i messaggi
perchè non vedo innanzitutto alcuna possibilita' nel poter cercare dei file con una determinata estensione all'interno di una unita'
Ma come no?!?
L'hai provato, almeno?
__________________
HWU Rugby Group :'( - FAQ Processori - Aurea Sectio - CogitoWeb: idee varie sviluppando nel web
MaxArt è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2010, 13:40   #10
Robertus
Senior Member
 
L'Avatar di Robertus
 
Iscritto dal: Jun 2007
Messaggi: 444
Quote:
Originariamente inviato da MaxArt Guarda i messaggi
Ma come no?!?
L'hai provato, almeno?
si provato, ho modificato poco sopra con edit1 e 2, credo ti siano sfuggiti :P


Quote:
Originariamente inviato da Teo@Unix Guarda i messaggi
se tempfile è vuoto significa che non ha trovato file .avs

Hai fatto un prova?

tipo così: (fai un file prova.txt con all'interno la stringa "testo" e inseriscilo nella dir root)

Codice:
#!/bin/sh -
find /root -name *.txt > tempfile

exec 3<&0
exec < tempfile
while true
do
   read direct || break
   cat $direct | sed 's/testo/replaced/g' > `eval echo $direct`
   cat $direct
   echo ""
done
exec 0<&3 3<&-
echo END
rm tempfile
lo script è corretto l'ho provato a me funziona.
Ti da degli errori?
non mi riconosce il comando find ( sono su win7 )
"formato del parametro non corretto"
Robertus è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2010, 13:48   #11
Teo@Unix
Senior Member
 
L'Avatar di Teo@Unix
 
Iscritto dal: Mar 2009
Messaggi: 753
...

ero molto convinto che eri su linux.. ecco perchè non va.......
quello script è per linux.
(Potevo anche capirlo però C:\Program Files\MeGUI\tools.......) e va bè ieri sera era tardi....

Con windows non lavoro quasi mai a riga di comando.... purtroppo ora non ho tempo di andarmi a vedere come sarebbe...

cmq il consiglio di MaxArt è buono. Usa NotePad++.
Devi scegliere sostituisci nei file scegliendo la cartella e filtri. Non è complicato.
Teo@Unix è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2010, 14:12   #12
Robertus
Senior Member
 
L'Avatar di Robertus
 
Iscritto dal: Jun 2007
Messaggi: 444
Quote:
Originariamente inviato da Teo@Unix Guarda i messaggi
...

ero molto convinto che eri su linux.. ecco perchè non va.......
quello script è per linux.
(Potevo anche capirlo però C:\Program Files\MeGUI\tools.......) e va bè ieri sera era tardi....

Con windows non lavoro quasi mai a riga di comando.... purtroppo ora non ho tempo di andarmi a vedere come sarebbe...

cmq il consiglio di MaxArt è buono. Usa NotePad++.
Devi scegliere sostituisci nei file scegliendo la cartella e filtri. Non è complicato.
va bene grazie lo stesso, mi affido alla mente di max allora :P
Robertus è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2010, 15:41   #13
MaxArt
Senior Member
 
L'Avatar di MaxArt
 
Iscritto dal: Apr 2004
Città: Livorno
Messaggi: 6661
Quote:
Originariamente inviato da Robertus Guarda i messaggi
si provato, ho modificato poco sopra con edit1 e 2, credo ti siano sfuggiti :P
Sì, mi erano sfuggiti

Comunque devi sostituire una parola per volta. Con le espressioni regolari puoi anche trovarne due per volta ma per la sostituzione non si può.
Vai su Cerca/Trova nei file (oppure Ctrl-Shift-F), in Trova ci metti AVCSource, in Sostituisci con ci metti DirectShowSource, in Filtri ci metti *.avs.
Poi rifai lo stesso con .dga, .ts e di nuovo *.avs

Se ti va in crash non so che dirti
Quanti sono questi file avs?
__________________
HWU Rugby Group :'( - FAQ Processori - Aurea Sectio - CogitoWeb: idee varie sviluppando nel web
MaxArt è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2010, 18:30   #14
Robertus
Senior Member
 
L'Avatar di Robertus
 
Iscritto dal: Jun 2007
Messaggi: 444
Quote:
Originariamente inviato da MaxArt Guarda i messaggi
Sì, mi erano sfuggiti

Comunque devi sostituire una parola per volta. Con le espressioni regolari puoi anche trovarne due per volta ma per la sostituzione non si può.
Vai su Cerca/Trova nei file (oppure Ctrl-Shift-F), in Trova ci metti AVCSource, in Sostituisci con ci metti DirectShowSource, in Filtri ci metti *.avs.
Poi rifai lo stesso con .dga, .ts e di nuovo *.avs

Se ti va in crash non so che dirti
Quanti sono questi file avs?
una 40ina.

andava in crash se prima facevo visualizza tutti, se faccio direttamente sostituisci, non va in crash e fa quello che deve.

pero' mi chiedo se c'è un modo per poter fare un .bat cosi che con un click ogni volta che ho bisogno di fare questa operazione, non devo aprire notepad++ ecc ecc
Robertus è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2010, 23:02   #15
MaxArt
Senior Member
 
L'Avatar di MaxArt
 
Iscritto dal: Apr 2004
Città: Livorno
Messaggi: 6661
Quote:
Originariamente inviato da Robertus Guarda i messaggi
pero' mi chiedo se c'è un modo per poter fare un .bat cosi che con un click ogni volta che ho bisogno di fare questa operazione, non devo aprire notepad++ ecc ecc
Uhm... richiesta lecita.
Notepad++ è un editor piuttosto sofisticato, può eseguire le macro e se non erro può farlo anche da riga di comando. Prova a dare un'occhiata alla documentazione...
__________________
HWU Rugby Group :'( - FAQ Processori - Aurea Sectio - CogitoWeb: idee varie sviluppando nel web
MaxArt è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2010, 20:07   #16
Robertus
Senior Member
 
L'Avatar di Robertus
 
Iscritto dal: Jun 2007
Messaggi: 444
Quote:
Originariamente inviato da MaxArt Guarda i messaggi
Uhm... richiesta lecita.
Notepad++ è un editor piuttosto sofisticato, può eseguire le macro e se non erro può farlo anche da riga di comando. Prova a dare un'occhiata alla documentazione...
ho letto la documentazione e si puo' fare ma non ci sono scritti i comandi che si possono eseguire
Robertus è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2010, 21:47   #17
MaxArt
Senior Member
 
L'Avatar di MaxArt
 
Iscritto dal: Apr 2004
Città: Livorno
Messaggi: 6661
Allora taglia la testa al toro e ritorna alla tua idea iniziale dello script: PowerShell.
Ma qui non posso aiutarti, sorry
__________________
HWU Rugby Group :'( - FAQ Processori - Aurea Sectio - CogitoWeb: idee varie sviluppando nel web
MaxArt è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2010, 09:12   #18
zuper
Senior Member
 
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
nn capisco...ma hai installato il sed per windows?

cosa scrivi esattamente?

hai provato solo su un file?

per cercare i files da dos puoi andare benissimo in c: e scrivere

dir /B /S *.avs

quindi fai un FOR:


for /F %a in ('dir /B /S *.avs') do

e poi continui col sed
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi.
L'una o l'altra inutile scandalizzarsi.[plutus]
zuper è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2010, 11:56   #19
zuper
Senior Member
 
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
io ho provato scaricando il sed for windows e questo funziona.

Codice:
cd\
for /F "delims==" %%a in ('dir /B /S *.avs') do (
"C:\Program Files\GnuWin32\bin\sed.exe" -i s/AVCSource/DirectShowSource/g "%%a"
"C:\Program Files\GnuWin32\bin\sed.exe" -i s/[.]dga/.ts/g "%%a"
)
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi.
L'una o l'altra inutile scandalizzarsi.[plutus]
zuper è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Borderlands 4, tra divertimento e problemi tecnici Recensione Borderlands 4, tra divertimento e pro...
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale TCL NXTPAPER 60 Ultra: lo smartphone che trasfor...
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming Un fulmine sulla scrivania, Corsair Sabre v2 Pro...
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni Nokia Innovation Day 2025: l’Europa ha bisogno d...
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza Sottile, leggero e dall'autonomia WOW: OPPO Reno...
Snapdragon X2 Elite Extreme, il cuore de...
Snapdragon 8 Elite Gen 5 è il nuovo rife...
Bombe Apple su Amazon: iPhone di scorsa ...
Micron: memoria HBM4 a 11 Gbps e patto d...
NVIDIA rende Audio2Face open source: ecc...
Logitech Signature Slim Solar K980+: 10 ...
Disney Plus aumenta i prezzi: si parte d...
Intel XeSS con Multi Frame Generation: u...
iPhone 16 a soli 700€ su Amazon: stile e...
Signature Slim Solar+ K980, la nuova tas...
Logitech MX Master 3S, il mouse perfetto...
Borderlands 4 per Switch 2 rinviato a te...
Reddit studia con Google una partnership...
La Ferrari elettrica che sembra una DeLo...
Xiaomi presenta una miriade di nuovi pro...
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: 04:40.


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