Vai al contenuto

Artemis

Utente Registrato
  • Numero contenuti pubblicati

    5134
  • Iscritto il

  • Ultima visita

Risposte pubblicato da Artemis

  1. La differenza tra i B6 e i B8 è che i B8 hanno lo stelo accorciato, e quindi si abbinano bene a molle ribassate ;)

    ci ricaveresti un'auto un filo più "solida" ma senza pagare in comfort (anzi, tanti che sono passati a quel kit dicono che van meglio delle originali)

    Quindi tu la abbasseresti con i b8+eibach?

    In sostanza la scelta è tra cambiare solo gli ammo con dei bilstein b6 o se cambiare ammo+molle con l'accoppiata B8+eibach, cosa che la abbassa di non ho idea quanti mm.

    Tra l'altro, domanda da un milione di dollari: ma che minchia di ammo ha su di serie la mia MX-5? Guardando sotto la macchina non riesco a capirlo, sono tutti neri e basta. Cercando su internet ho letto che sono o KYB o Sachs. Informazione attendibile?

  2. Ave a tutti (spero che nel forum Mazda qualcuno legga).

    La mia amata MX-5 è arrivata a 46000km ed ha un *leggero* problema: si è finita gli ammortizzatori. Ergo, devo cambiarli.

    Premetto con il fatto che lo so, ho letto, che tale durata per le 2.0 della mia serie è piuttosto normale. Gli ammortizzatori originali sono tendenzialmente sottodimensionati e tendono a degradarsi precocemente.

    Il punto è proprio qui: cambiare 4 ammortizzatori e rimetterli uguali, specialmente considerando che dureranno altri 40000km e che già di default non sono granchè, perchè ondeggiano parecchio ad alta velocità, mi fa un po' girare le palle.

    Sono disposto a spendere di più per mettere qualcos'altro e sistemare una volta per tutte l'assetto di sta macchina.

    Quindi: consigli? Che soluzioni sono disponibili?

    Premetto che non sono interessato a "renderla più sportiva", nè più bassa, nè particolarmente più rigida. La macchina è abbastanza comoda, e va bene che sia così perchè è la mia unica auto e tale rimarrà.

    Mi interessa solo risolvere il problema dell'usura precoce degli ammo e, se possibile, anche il fastidioso fenomeno di rimbalzo che dimostrava ogni tanto nei cambi di direzione, se la conseguenza di ciò sarà un lieve irrigidimento pace, posso conviverci. Solo non voglio fare l'assetto ultrasportivo.

    Cosa mi consigliate, o esperti? :D

  3. Tornando IT, hai già testato la compatibilità con le app Android?

    SI. Premetto che sto usando la versione 10.2.1.1055 beta del sistema, quindi posso installare direttamente gli apk. ma devo dire che è... staordinaria!

    hb6v.png

    Ti giuro, io non so come ci riescano, specie considerando il poco tempo che è passato da quando hanno iniziato a sviluppare la feature, ma funziona veramente da dio.

    A parte le prestazioni, che sono grossomodo assimilabili alle applicazioni native (instagram è un pelo lento, ma instagram è un pelo lento SEMPRE), quello che stupisce è l'integrazione.

    Le applicazioni, come vedi, vengono visualizzate correttamente nel multitasking, vanno perfettamente a schermo intero e soprattutto le azioni dei tasti di android (ad esempio l'indietro, o il menu dei settings) sono correttamente bindate alle gestures che BlackBerry usa con le applicazioni native.

    Ti faccio un esempio pratico, macroscopico, che ho notato con una applicazione piuttosto datata, quella ufficiale di Wikipedia.

    tfot.png

    Questa è la configurazione di default aperta Wikipedia. la barra inferiore implementa di default il tasto indietro, che è necessario nel comportamento di molte applicazioni Android.

    Tuttavia, operando uno swipe dall'alto, è possibile nascondenderla per ottenere un fullscreen completo, nel caso l'applicazione possa fare a meno del tasto indietro (per esempio Spotify).

    La cosa bella è che la gesture di swipe dall'alto è quella usata per ottenere accesso ai menu dei settings della applicazione, normalmente compare una barra in alto con le icone dei vari settings.

    Su una applicazione Android questo è correttamente bindato al famigerato "terzo tasto" menu degli android, e quindi permette di visualizzare il menu dei settings, anche se questo è ancora in stile Android 2.x come nel caso dell'app di Wikipedia.

    9mi9.png

    In sostanza, è una compatibilità VERAMENTE BEN REALIZZATA.

    Per fare un paragone, il fantomatico Jolla, che fa della compatibilità con Android praticamente il suo unico punto di forza, offre molto molto meno. La runtime è una sola, ad esempio, e tutte le applicazioni aperte finiscono sotto la stessa finestrella del multitasking (su cui non si possono quindi fare azioni a differenza delle app native), inoltre non binda le azioni alle gestures (di cui jolla è pieno) limitandosi a far comparire i tasti di Android.

    Qui siamo chilometri e chilometri avanti, e devo dire che le app di Android funzionano probabilmente meglio che su telefoni Android con hardware simile.

    (Ad esempio Spotify su BB10 è distintamente più veloce che sul mio Galaxy Nexus).

    Insomma, much stuff.

  4. Però non mi puoi dire che una Cyano 4.4 sia ben ottimizzata per gnex.

    Praticamente è un porting ancora in beta.

    Potrei introdurre un discorso sul perchè Android, che è un sistema operativo di cui il codice è praticamente tutto noto da tempo, e che ha tutto l'ambiente basato su una runtime java, quindi per definizione portabile ed indipendente dalla piattaforma hardware, necessiti sempre di questo estremo tuning di tutte le varie componenti su ogni singolo telefono per girare bene.

    Se il problema non è la pesantezza fine a sè stessa allora il problema diventa la sua portabilità estremamente limitata.

    Android nasce per essere portabile, sacrifica gran parte della potenza di calcolo disponibile per tale portabilità, ma fallisce miseramente, essendo di fatto impossibile da translare da un dispositivo all'altro senza un attentissimo tuning di tutti i componenti.

    Mi ricorda quasi i vecchi Symbian per molti versi.

    Io, da informatico, preferisco definire questo fenomeno semplice "pesantezza". E' un problema molto meno grave ed imbarazzante rispetto ad ammettere che fallisce sulla portabilità.

  5. Pensavo che saresti finito su un Nexus 5 :)

    Detto questo è un acquisto interessante, specialmente per valutare anche questa evoluzione di QNX che spero possa sopravvivere anche nel caso in cui BB dovesse finir male.

    Io ho detto no ad Android, ma si a Valsoia :D

    A parte gli scherzi, devo ammettere che Android mi ha davvero stancato. E' sempre la stessa solfa, ha sempre le stesse difficoltà operative, tipo l'interfaccia a desktop multipli e widget, che secondo me è l'emblema dell'inutilità assoluta, aree sensibili al touch molto piccole (ritengo che utilizzare google navigator con il telefono montato su un supporto da macchina sia un lavoro da cecchini, specie se confrontato a suite di navigazione fatte DAVVERO bene, come HERE Drive+), applicazioni che sembrano organizzate più per girare su un computer che su un dispositivo touch, una certa incoerenza estetica, eccetera.

    E ha sempre gli stessi problemi di ottimizzazione.

    Per far girare decentemente un Android serve un mainframe della Nasa praticamente (ad esempio una Cyano 4.4, con tutto che è ben ottimizzata, sul Galaxy Nexus fa rotolare a terra le palle dalla lentezza, e ciò secondo me non è tollerabile).

    Seriamente, non ci trovo più nulla di attraente in Android. Ha delle mancanze, che con il tempo e con il mio uso sono diventate importanti, e non fa nulla per migliorarsi ormai da moltissime versioni.

    E non mi si parli del nuovo launcher di kitkat perchè si, è carino, ma non introduce assolutamente nulla di nuovo. Non riesce nemmeno da levare dal cazzo il drawer (aka il più grande usability hole della storia della telefonia).

    Con questo non voglio dire che Android non sia un grande sistema e che non meriti di popolare gran parte degli smartphone sul pianeta.

    Intendo semplicemente dire che ha dei problemi, come tutti i software del mondo, ma che ormai questi problemi me lo rendono veramente inadatto e poco appetibile.

    - - - - - - - - - - AGGIUNTA al messaggio già esistente - - - - - - - - - -

    Mio papà usa un curve 9300 e lo odio con tutto il cuore. Qualsiasi roba che con gli altri smartphone fai in 3 minuti (tipo configurare la posta o collegarlo al bt della macchina) richiede procedure che necessitano di 5 tasti mezzaluna basso pugno le essenze di mela e l'autografo di chuck norris...

    l'OS 10 è tutto un'altro discorso. Non nel senso "promozionale" del termine, sia chiaro, intendo proprio nel senso operativo. E' un sistema completamente diverso, che si usa in modo apparentemente coerente per chi arriva dai vecchi BlackBerry, ma in realtà estremamente diverso.

    Hanno fatto un grande lavoro, e se dovessi esprimere un giudizio direi che lo trovo il secondo sistema più semplice e produttivo da usare, dopo WP8.

  6. Domandona con premessa.

    Se non erro esiste la versione con tastiera.

    Alla mia ragazza piace.

    La mia ragazza ora ha un Nokia C3-00.

    La mia ragazza non riesce a usare il mio N9, e' totalmente impedita col touch.

    Potrebbe farcela a usate un BlackBerry con tastiera?

    Si, c'è il Q10. Io l'ho preso in mano qualche volta, non l'ho usato personalmente ma, sticazzi, il sistema operativo è lo stesso.

    Quanto al telefono, posso dirti che per materiali ed assemblaggio è un po' meglio dello Z10, che purtroppo non è un telefono curatissimo (potroppo il mio ha un difetto di assemblaggio che dovrò trovare il modo di far sistemare, ma al netto di quello la cover posteriore rimane di plasticaccia Samsung style, cosa che non vale per il Q10).

    La cosa buona del Q10 è l'ottimizzazione veramente ottima fatta da blackberry per la tastiera: tutti i menu e le barre sono più strette, ed alcune scompaiono in favore di manovre che si possono operare sulla tastiera direttamente, come chiamare o usare la ricerca globale.

    Io personalmente andrei tranquillo di Q10, a patto di trovarlo ad un buon prezzo. Scarta il Q5. Sono lo stesso telefono, ma la realizzazione della tastiera sul Q5 è molto più scadente, e per un telefono che fa di questa il suo punto di forza, ciò secondo me è intollerabile.

    Credo che per cui non sia ancora in grado di usare un dispositivo touch sia probabilmente il migliore oggetto sul mercato.

  7. Zalve a tutti bei mariani.

    Lo confesso, ho fatto una cosa brutta: ho venduto il Lumia 920.

    Perchè? perchè potevo. Era vecchio, deprezzato, e me l'hanno cercato. Se non l'avessi venduto ora non l'avrei venduto più.

    A quel punto, però, mi sono chiesto "che minchia mi compro ora?" la scelta è andava ovviamente su un'altro Lumia ma, purtroppo, Nokia non produce il telefono che mi serve.

    Il 1020 ha la base hardware vecchia ma costa ancora troppo, il 1520 ha la base hardware nuova ma è troppo, troppo, troppo grosso. L'ideale sarebbe stato quello che Nokia chiama Lumia Icon, o 929, messo in vendita ora negli USA in esclusiva per Verizon.

    Uscirà la versione globale, ovviamente, tra qualche mese, ed io aspetto trepidante.

    Ma nel frattempo?

    Ho avuto quindi occasione di fare un "esperimento". Ho trovato a pochi euro (160 sterline, in verità) un bel BlackBerry Z10 e ho deciso che il prezzo e la prospettiva di longevità limitata valevano bene l'esperimento.

    BlackBerry OS 10, infatti, è un sistema su cui stanno lavorando tantissimo, che è migliorato a dismisura in meno di un anno e che, diciamocelo, mi aveva sempre interessato.

    E quindi eccomi. Proprietario di uno Z10, forse uno dei pochissimi rimasti.

    Devo dire di essere davvero, davvero, davvero sorpreso. E' un sistema fantastico. Veloce, sempre fluido, con tutta una serie di chicche di usabilità che gli altri sistemi (tutti, nessuno escluso) si sognano.

    Ho notato molte cose interessanti e avrei molto da scrivere, ma mi riservo ancora qualche giorno prima di postare impressioni d'uso più corpose.

    Nel frattempo, se qualcuno ha qualche domanda, qualsiasi domanda, sarò felice di rispondere. :D

    Au revoir.

  8. perchè il comandante della nave (completamente senza palle) dalle acque internazionali ha accettato di rientrare in un porto indiano. da lì è partita tutta la faccenda.

    Allora temo che il fatto che l'accaduto sia avvenuto in acque internazionali sia del tutto irrilevante.

    In ogni caso la confusione su questo caso è massima, ed entrambe le stampe (sia quella italiana, sia quella indiana) sono state completamente disoneste raccontando un buon 90% di coglionate ed un 10% di verità.

    Senza un accesso alle fonti giudiziarie (e anche li...) parlarne senza sparare stronzate è praticamente impossibile.

  9. Ad ogni modo e' assolutamente vergognoso che due militari italiani siano tenuti prigionieri in un paese straniero e il proprio stato d'appartenenza non faccia nulla di concreto per riportarli a casa...una volta in patria sara' giusto svolgere le indagini del caso ed, eventualmente prendere le corrette contromisure!...mi pare che per la tragedia del Cernis I militari statunitensi siano stati riportati in USA e giudicati laggiù anche se si trovavano ad operare in un paese non così dissimile al loro (per lo meno tra italia e stati uniti le differenze culturali sono estremamente ridotte rispetto alle differenze che intercorrono tra india e italia...)

    La regolamentazione che consentì ai militari statunitensi della strage del Cernis di essere giudicati in patria era la Convenzione di Londra, stipulata tra i paesi della NATO nel 1951.

    L'India non mi risulta faccia parte della NATO, nè che esista con essa un qualche forma equivalente di accordo militare.

    Ergo, penso non ci siano cavoli: questi militari hanno ucciso indiani in acque indiane, ergo, devono essere giudicati dalla giustizia indiana per l'accusa di omicidio in quanto persone fisiche, E dal tribunale militare italiano per le colpe che potrebbero evidenziarsi circa la loro condotta militare.

  10. E' un paio di giorni che il mio Samsung S3 (compagnia telefonica Vodafone) mi dà il messaggio che bisogna aggiornare firmware e software, credo per il passaggio alla versione 4.3 di Android.

    Aggiorno tranquillo o la 4.3 crea problemi, è buggata, ecc?

    Qualcuno è abbastanza esperto da saperlo?

    Mio padre ha aggiornato recentemente.

    Eccetto che il telefono ha problemi, ma li ha di suo, non mi ha riferito di bug e mi ha detto che sembra essere un po' più veloce.

  11. Io ho una paura fottuta di questo film perchè gli amici hanno già urlato in coro SIIII FIGATA ANDIAMOLO A VEDERE.

    Harlock era un anime decente nel suo contesto storico. Già diverse cose mi hanno sempre convinto poco, tipo l'ambientazione, ma che ci abbiano tirato fuori un remake... boh.

  12. Ave,

    Sfrutto l'occasione dei saldi di natale per sapere chi in questo forum ha Steam e lo usa.

    Per chi non lo sapesse Steam (Welcome to Steam) è una piattaforma di cloud gaming della Valve: integra una completissima piattaforma social con il market di giochi più fornito del pianeta. Le persone comprano e si regalano giochi (Steam di premura di memorizzare la libreria di giochi, i progressi ed ogni salvataggio), ottengono achivement e reward di Steam, fanno gruppo ed organizzano eventi online.

    Un po' come il PSN o Xbox Live, solo con moltissimi, moltissimi, moltissimi steroidi in più, e con giochi disponibili per Windows, Mac e Linux.

    Nel 2014, inoltre, uscirà finalmente la SteamBox, ovvero come portare Steam sulla televisione di casa.

    Chi fa parte del club?

  13. -print0, è vero, non è strettamente POSIX. Il find dello scatolotto della Synology che ho io, infatti, non lo supporta nativamente, ma è possibile scaricare una versione alternativa di find che invece lo ha.

    Il path relativo non è neanche esso un problema, almeno se la prima cosa che fai, appunto, è estrarre il nome del file dal suo path e poi agisci su una directory pre-impostata, cosa che puoi fare o con una mezza riga in bash, come ho fatto io, o con basename che fa parte delle coreutils Peraltro, per come find viene utilizzato in suddetto script, non funziona recursivamente e si limita a mostrare solo i file nella dir di primo livello quindi il problema è comunque escluso.

    basename soffre gli spazi e altri terminatori. Non mi sono mai interessato più di tanto quindi può essere che mi sono perso qualche impostazione, ma tra l'altro strippa via anche i suffissi.

    Preferisco non usarlo di solito, mi ha sempre dato problemi.

    Ecco, un file che ha "/" nel suo nome NON dovrebbe esistere. Il FS ext3, per esempio, lo esclude categoricamente (anche se lo si può fregare con alcuni trucchetti e a determinate condizioni). "/", in altre parole, è proprio un carattere illegale perché serve (o dovrebbe servire) solo a delimitare i path.

    In ambiente unix è vero, ma in caso di file creati in ambiente Windows e Dos (o qualsiasi sistema ibm legacy basato su AS) può capitare.

    Figurati che io ebbi a che fare con una intera partita di brevetti che si chiamavano "{publication}/{application}/{countryCode}.xml" (dove ovviamente c'erano i numeri tra graffe). Pensa le bestemmie nel processare sti file con gli script. :D

  14. Continuo a trovare un po' pericoloso basare il tutto sull'output di ls, per di più salvato in una variabile: basta un nome che, per esempio, contiene il carattere '\n' (astrattamente possibile, è un carattere legale) ed il tutto va a donnine allegre. L'unico carattere che puoi essere assolutamente certo di non trovare in un nome di file è il carattere NUL ($'0') ed è quello che normalmente si usa come separatore di lista in questi casi (cfr. -print0 nella riga col find).

    Io personalmente trovo find un comando abbastanza odioso da usare per questo genere di cose.

    Innanzitutto perchè cambia da sistema a sistema (ad esempio alcuni hanno -printf e altri no, per esempio il mio no), e poi perchè obbliga ad avere a che fare con il path relativo del file, cosa con cui non voglio avere a che fare.

    Dulcis in fundo, il suo output può venire smanacciato in vari modi, tipo xargs, la cui maggiorparte è dipendente dagli spazi (per esempio awk non riesce a trovare le colonne per splittare l'output), e la soluzione -print0 provoca problemi alla stragrande maggioranza delle altre utility che si possono usare sul suo output perchè non supportano il null separator.

    D'altro canto, usando ls ho un output più facilmente manipolabile ed il rischio effettivo di avere dei file con all'interno uno \n è effettivamente irrisorio (e se anche ci fosse il rischio, basterebbe passare per sed).

    Un altro rischio legato all'ls è la possibilità che il filesystem cambi tra la memorizzazione dell'ls e l'effettiva movimentazione dei file. Ma: innanzitutto è una misura di sicurezza largamente out of scope dallo script. È evidente che jeby ha bisogno di lasciarlo girare, quindi dubito che sarà così babbo da spostargli del file sotto, e poi, comunque, il rischio si limita ad avere un errore di mv, che creerà un solo file refuso, permettendo comunque allo script di proseguire. Dato che lo script è scritto per essere eseguito più volte sulla stessa collezione di file funzionando sempre, è un problema di poco conto. (al contrario, l'uso di find con la regex è limitante ad operare lo spostamento dei file solo se questi non sono già rinominati, altrimenti non li trova, o sarebbe comunque necessaria una diversa regex.)

    In sostanza, trovo che ls non sia certo il comando perfetto, ma che in questo contesto ha contrappassi nettamente inferiori a quelli del find.

    Comunque, prendo in considerazione le obiezioni e pubblico una versione dello stesso script modificata per funzionare con find. Ora il problema è diventato che il nome del file non può contenere "/", che secondo me è peggio che non poter contenere \n, però fa niente.


    #!/bin/bash

    find . -maxdepth 1 -mindepth 1 -type f -print0 | while IFS= read -r -d $'\0' file;
    do
    file=$(echo $file | sed 's/.*\///')
    if [[ $file =~ (_|%28|%29) ]];
    then
    oldFile="$file"
    file=$(echo $file | sed 's/\_/\ /g')
    file=$(echo $file | sed 's/%28/\(/g')
    file=$(echo $file | sed 's/%29/\)/g')
    echo "** Renaming file $oldFile to $file"
    mv "$oldFile" "$file"
    fi
    if [[ $file =~ ^([[:alpha:][:blank:]\-]+)[0-9]{2,3}.*$ ]];
    then
    folder=`echo "${BASH_REMATCH[1]}" | awk '$1=$1'`
    if [ ! -d "$folder" ];
    then
    mkdir "$folder"
    echo "** Directory $folder created"
    fi
    echo "** Moving file $file to $folder"
    mv "$file" "$folder"
    fi
    done

  15. ecoomi!

    Artemis: ho fatto rigirare gli script con queste serie di file:

    cena cugini X-MAS 001 (20071222).jpg

    lucca comics 001 (20051030).jpg

    museo scienza 01 (20070805).jpg

    sposta solo la serie di lucca comics, la serie con il - e la serie con solo 2 cifre nel numero di avanzamento non le sposta

    loric:

    hai ragione, non c'entrav il doppio /, l'errore è mio :lol:

    Avevo messo MYPATH e DESTDIR uguali tra loro e l'errore che mi dava era:


    mkdir: impossibile creare la directory "/home/pi/sambashare/Prova//Gallico_Marina_019_(20100810)_mie.jpg": File già esistente
    mv: accesso a "/home/pi/sambashare/Prova//Gallico_Marina_019_(20100810)_mie.jpg/Gallico Marina 019 (20100810) mie.jpg": Non è una directory

    adesso ho settato

    MYPATH="$HOME/sambashare/prova/"

    DESTDIR="$HOME/sambashare/prova/mydir/"

    con dentro gli stessi file con cui ho fatto girare lo script di Artemis, non mi dà nessun errore ma... non fa nulla! allora mi sono accorto che nella tua regex c'è ".*[0-9][0-9][0-9]_.*" che non pesca nulla, forse perché i file sono già stati riscritti correttamente... Ho tolto il _ e funziona.

    In compenso muove anche i file che quello di Artemis non muove, ma anche il tuo ha problemi con file con numerazione solo di 2 cifre, nel senso che crea una cartella per ogni file.

    Chiaro, la mia regex era più stringente.

    La versione qui sotto corregge la regex per lo spostamento comprendendo anche le tipologie che non riuscivi a spostare.


    #!/bin/bash

    dir=`ls -l | grep '^-' | awk -v N=9 '{sep=""; for (i=N; i<=NF; i++) {printf("%s%s",sep,$i); sep=OFS}; printf("\n")}'`

    while read -r file;
    do
    if [[ $file =~ (_|%28|%29) ]];
    then
    oldFile="$file"
    file=$(echo $file | sed 's/\_/\ /g')
    file=$(echo $file | sed 's/%28/\(/g')
    file=$(echo $file | sed 's/%29/\)/g')
    echo "** Renaming file $oldFile to $file"
    mv "$oldFile" "$file"
    fi
    if [[ $file =~ ^([[:alpha:][:blank:]\-]+)[0-9]{2,3}.*$ ]];
    then
    folder=`echo "${BASH_REMATCH[1]}" | awk '$1=$1'`
    if [ ! -d "$folder" ];
    then
    mkdir "$folder"
    echo "** Directory $folder created"
    fi
    echo "** Moving file $file to $folder"
    mv "$file" "$folder"
    fi

    done <<< "$dir"

  16. quello di Artemis funziona, a parte ovviamente su alcuni file con pattern diversi (solo 2 cifre di numeri e trattini vari nel nome)

    invece Loric il tuo mi mette uno / di troppo nel percorso file...

    Fammi qualche esempio dei nomi fuori pattern, che voglio vedere se si può sistemare per prendere dentro anche loro :)

  17. ho un Mac ma tutto ciò lo farà il raspberry pi quindi niente GUI e niente Mac! Grazie Artemis, stasera provo e ti faccio sapere!

    e poi a volte voglio eseguire da remoto e mi viene più comodo usare i bash, o anche per operazioni ricorrenti

    Per eliminare tutto quello che viene dopo lo spazio e il numero si potrebbe usare anche la sostituzione dei paramteri nella variabile, tipo molto grezzamente:


    for nomefile in cartella
    do
    sottocartella = ${filename%%un-espressione-che-non-so}
    mv nomefile sottocartella/nomefile
    done

    mi è venuto in mente che usavo una roba del genere per prendere il file senza l'estensione e che probabilmente si potrebbe fare lo stesso in questo caso. Ma la mia 'gnorazna è crassa, quindi mi affido al tuo script :)

    PS: sto guardando awk... sembra IL comando definitivo!

    In realtà la Bash supporta diversi modi per creare substring, sia nativamente sia con l'uso di software tipo cut o grep.

    Ma il problema essenziale è che questi approcci richiedono necessariamente che il delimitatore sia un carattere o al limite una sequenza di caratteri precisi e ripetibili.

    Nel caso delle specifiche che avevi dato tu, poteva essere un numero qualsiasi di tre cifre, e quindi tutto ciò che si sa di lui è che è [0-9]{3}. Da qui la necessità di creare un matcher.

    awk è estremo. C'è il comando (di cui hai letto qualche uso nel mio script) ma è anche e soprattutto una apposito linguaggio di script orientato alla manipolazione di stream di dati.

    è estremamente completo ed estramente complesso. Io stesso lo conosco solo superficialmente.

  18. Fantastico grazie!!!! Anche cono lo spazio in fondo va benissimo!

    In pratica con BASH_REMATCH[1] vai a prendere solo la parte tra parentesi, giusto?

    Appena riesco a far ripartire il cell provo che dal computer dell'ufficio non riesco a collegarmi con ssh a casa :)

    Mi è venuto il dubbio ed ho corretto il baco con awk.

    Ho corretto anche un altro bug che avevo lasciato in giro: il secondo mv dava errore e non spostava file rinominati in un run precedente e che non avevano quindi matchato il primo if. :D

    Modifico direttamente il codice che ti ho postato nei messaggi precedenti, senza copiarlo ulteriormente, così quello che hai quotato tu rimane vecchio e puoi vedere le varie versioni se vuoi vedere la differenza :)

    Ok, ora smetto, giuro.

    PS: una cosa di questo tipo sarebbe venuta elegantissima fatta in groovy. Ma pazienza :D

  19. sì è esatto :birra: da "qualche testo 001 (eccetera) eccetera" a "qualche testo"

    lo so che sono nomi di m....a ma si tratta di archivi di roba di più di dieci anni fa, batch di scatti da 300 foto fatti da chiunque passasse di lì con una compatta (gente che non so nemmeno più che fine abbia fatto), che hanno subito mille passaggi di sistemi di organizzazione e che per la maggior parte sono stati recuperati da un disco finito male... evviva! :D

    Lo scopo è anche imparare sed o quel che è per fare altre operazioni su svariati altri file!

    Ho fatto una piccola aggiunta che dovrebbe fare tutto quello di cui hai bisogno:


    #!/bin/bash

    dir=`ls -l | grep '^-' | awk -v N=9 '{sep=""; for (i=N; i<=NF; i++) {printf("%s%s",sep,$i); sep=OFS}; printf("\n")}'`

    while read -r file;
    do
    if [[ $file =~ (_|%28|%29) ]];
    then
    oldFile="$file"
    file=$(echo $file | sed 's/\_/\ /g')
    file=$(echo $file | sed 's/%28/\(/g')
    file=$(echo $file | sed 's/%29/\)/g')
    echo "** Renaming file $oldFile to $file"
    mv "$oldFile" "$file"
    fi
    if [[ $file =~ ^([A-Za-z[:space:]]+)[0-9]{3}.*$ ]];
    then
    folder=`echo "${BASH_REMATCH[1]}" | awk '$1=$1'`
    if [ ! -d "$folder" ];
    then
    mkdir "$folder"
    echo "** Directory $folder created"
    fi
    echo "** Moving file $file to $folder"
    mv "$file" "$folder"
    fi

    done <<< "$dir"

    Mi sa che c'è un bug, ovvero che quando crea il nome della directory non toglie lo spazio in fondo e quindi crea la directory con il nome giusto ma con uno spazio in fondo.

    C'è il modo di fare il trim dei leading spaces in bash, ma non mi ricordo a memoria come si fa e mi fa che non è proprio straightforward, quindi ho lasciato perdere. :D

    Fammi sapere se funziona :D

×
×
  • Crea Nuovo...

 

Stiamo sperimentando dei banner pubblicitari a minima invasività: fai una prova e poi facci sapere come va!

Per accedere al forum, disabilita l'AdBlock per questo sito e poi clicca su accetta: ci sarai di grande aiuto! Grazie!

Se non sai come si fa, puoi pensarci più avanti, cliccando su "ci penso" per continuare temporaneamente a navigare. Periodicamente ricomparità questo avviso come promemoria.