Rame » CLI scripts

CLI scripts

Vari programmini da linea di comando (scripts CLI) in PHP, Bash, ecc.

NAME AND VERSION
 dfnfromexif.php v0.2
DESCRIPTION
 dfnfromexif.php renames the specified files using as a “template” an exif
 tag (“DateTimeOriginal” by default) and/or other parameters.
 By default it doesn’t actually rename any file, but only shows the changes it
 would make; use option "-g” to actually rename.
SYNOPSIS
 dfnfromexif.php [options] <file|path ...>
OPTIONS
 -h
  Show this help text and exits.
 -e <valid extensions list, comma separated>
  Consider only files with given extensions.
 -d
  Show debug info.
 -r
  Recursevely scan every specified directory.
 -t <parameter>
  Defines the paramater to build the output filename[s].
  “parameter” can be any exif tag (but the script treats “intelligently” only
  some of the exif standard tags, see below), or other special paramaters
  preceeded by "%".
  By default, the script tries and use the exif tag “DateTimeOriginal”.
 The tags below are treated “intelligently” by the script:
  FileDateTime : ...
  DateTime : ...
  DateTimeOriginal : ...
  DateTimeDigitized : ...
 “Special” parameters currently supported:
  %fdate : creation date of the file as reported by the filesystem.
 -g
  By default, the script only shows the changes it would make, without actually
  committing them.
  This option makes it actually rename the files.
EXAMPLE
 dfnfromexif.php -e tiff,jpg -d a.jpg *.tiff *.zzz b/*.jpg c/ -r -t DateTime
  Consider in the current directory the file “a.jpg” and all the files with
  “tiff” and “zzz” extension (but “zzz” files will be discarded since they are
  not included in the allowed extensions list specified with "-e”); consider
  also all “jpg” files in “b” , and all (tiff and jpg) files in dir “c” and its
  subdirs (since "-r” has been used); show debug info.

    This program comes with ABSOLUTELY NO WARRANTY; for details see the source.
    This is free software, and you are welcome to redistribute it
    under certain conditions; see <http://www.gnu.org/licenses/> for details.

NOME E VERSIONE
 farf.php v0.1
DESCRIZIONE
 farf.php traduce in alfabeto farfallino una stringa di testo
 in input o una serie di file.
SINTASSI
 farf.php [opzioni] [file[s]]
USO
 Se non viene specificato alcun file da riga di comando, o se nessuno dei file
 specificati da riga di comando e` valido, legge da stdin.
OPZIONI
 -d / --defarf
  Defarfallinizza invece di farfallinizzare.
 -f / --farf
  Imposta la stringa di farfallinizzazione.
  DEFAULT f, ovviamente.
 -v / --debug
  Mostra info di debug durante l’esecuzione.
 -h / --help
  Mostra questo aiuto ed esce.
ESEMPI
  $ echo ciao | farf.php
   stampera` a schermo “cifiafaofo”
  $ echo ciao | farf.php -f p
   stampera` a schermo “cipiapaopo”

   This program comes with ABSOLUTELY NO WARRANTY; for details see the source.
   This is free software, and you are welcome to redistribute it
   under certain conditions; see <http://www.gnu.org/licenses/> for details.

NOME E VERSIONE
 fontsheet.php v0.1
DESCRIZIONE
 fontsheet.php crea un file html che mostrera` tutte le font installate su
 un sistema linux secondo le opzioni date.
 Richiede il programma “fc-list”, che solitamente e` parte del pacchetto
 “fontconfig”.
SINTASSI
 fontsheet.php [opzioni]
OPZIONI
 -t / --text <stringa>
  Imposta il testo di esempio.
  DEFAULT: The quick brown fox
 -s / --size <intero>
  Imposta la dimensione del carattere del testo di esempio.
  DEFAULT: 16
 -v / --variants <varianti>
  Imposta in quali “varianti” stampare il testo di esempio per ciascuna font.
  Le varianti possibili sono
  “r” (“regular”: “tondo”),
  “b” (“bold”: “grassetto”),
  “i” (“italic”: “corsivo”),
  “bi” (“bold+italic”: “grassetto+corsivo”).
  Possono essere specificate piu` varianti separandole con una virgola.
  Es.: "-v r,bi”: lo script stampa il testo di esempio prima in tondo e poi
  in grassetto+corsivo per ogni font.
  DEFAULT: r
 -o / --ofile <path>
  Specifica un file in cui salvare l’output html.
 -d / --debug
  Mostra info di debug durante l’esecuzione.
 -h / --help
  Mostra questo aiuto ed esce.

   This program comes with ABSOLUTELY NO WARRANTY; for details see the source.
   This is free software, and you are welcome to redistribute it
   under certain conditions; see <http://www.gnu.org/licenses/> for details.

 NOME E VERSIONE
   indice.php v0.2
 DESCRIZIONE E INTRODUZIONE
  indice.php cerca all’interno di un testo (uno o più file pdf, oppure
   uno o più file di testo contenenti indicatori di “fine pagina” - vedi più
   avanti) i lemmi (stringhe di testo) specificati da riga di comando
   o in uno o più file di testo (meglio, perché da file di testo è possibile
   impostare ricerche tramite espressioni regolari e utilizzare parametri
   avanzati per ciascun lemma), e crea un elenco in cui gli stessi lemmi sono
   affiancati dai numeri delle pagine in cui compaiono nel testo. Il programma
   può perciò essere utile per creare un indice dei nomi o altri tipi di indici
   per una pubblicazione.
  La ricerca su file pdf avviene previa “estrazione” automatica del testo
   contenuto nel/nei pdf specificato/i tramite il programma esterno “pdftotext”
   (vedi il penultimo paragrafo di questa introduzione per dove trovarlo).
  In alternativa ai file pdf, usando l’opzione "-t” (vedi sotto) la ricerca
   può essere effettuata direttamente su uno o più file di testo convertiti
   “a mano” da pdf con “pdftotext” (senza usare la sua opzione "-nopgbrk”),
   oppure su un qualunque file di testo al cui interno siano definite delle
   “pagine” tramite un carattere o una stringa di caratteri che indichi
   univocamente un “fine pagina”. Il carattere o la stringa “di fine pagina”
   può essere comunicato/a al programma con l’opzione "-p”, e per default
   è il carattere “di fine pagina” usato da “pdftotext” (“form feed”, “\f”).
  Se si specificano più file pdf o di testo su cui effettuare la ricerca,
   il testo su cui la ricerca sarà effettuata e la successione delle pagine
   saranno il risultato dell’accodamento del testo contenuto in ogni file
   secondo l’ordine in cui sono stati passati da riga di comando. In altre
   parole, se il primo file passato da riga di comando contiene 9 pagine,
   la prima pagina del secondo file passato da riga di comando sarà considerata
   come la decima del testo completo. E’ inoltre possibile impostare un offset
   di pagine, nel caso la prima pagina del primo file non sia la prima del testo
   originale.
  E’ possibile, con l’opzione "-T” (vedi), creare un elenco in cui per ogni
   occorrenza di ogni lemma viene stampato il “contesto” (una parte del testo)
   in cui la stessa è stata trovata; all’interno della riga di contesto
   l’occorrenza stessa sarà evidenziata. In questo modo sarà possibile
   verificare le singole occorrenze di ogni lemma.
  E’ possibile, con l’opzione "-r”, specificare il set di caratteri usato
   per i lemmi da cercare (quindi anche per il/i file dei lemmi) e per i file
   su cui avviene la ricerca, che usa un motore di regexp compatibile con set
   di caratteri multibyte.
  Il programma richiede le estensioni “iconv” e “mbstring” di php, e, se lo si
   vuole usare su file pdf, il programma “pdftotext”, che fa parte della suite
   open source e multipiattaforma “xpdf”, scaricabile qui:
    http://www.foolabs.com/xpdf/download.html
    (tip: in ubuntu jaunty “pdftotext” fa parte del pacchetto “poppler-utils”,
    ma anche del pacchetto “xpdf-utis”).
  Per una introduzione all’uso delle regexp vedi
   http://it.wikipedia.org/wiki/Espressioni_regolari
 [FAQ]
  Come si comporta il programma rispetto alle occorrenze che vanno a capo
   (o, nel caso di espressioni composte, sono “spezzate”) tra colonne o pagine
   diverse?
  [.... --flows ecc.]
 SINTASSI
  indice.php [opzioni] <-f <file dei lemmi>|-w <lemma>> <path[s]>
  indice.php [opzioni] -V <-f <file dei lemmi>|-w <lemma>>
 FILE DI CONFIGURAZIONE
  Tutte le opzioni descritte qui sotto possono essere specificate in file
   di configurazione, con l’eccezione dell’opzione "-I/--inifile”, che sarà
   ignorata. La sintassi da usare nei file di configurazione è la stessa usata
   da riga di comando, o quasi: la differenza è che nei file di configurazione
   il carattere di raggruppamento di un parametro può essere solo le virgolette
   doppie ("), mentre le virgolette singole (’) no; e se si vuole specificare
   un carattere di virgolette doppie vero e proprio, bisognerà farlo precedere
   da una “\”.
   Per il resto, valgono le sequenze di escape della bash più importanti
   (“\a” per il carattere “alert”, “\b” per “backspace”, “\e” per “escape”,
   “\f” per “form feed”, “\n” per “new line”, “\r” per “carriage return”,
   “\t” per “horizontal tab”, “\v” per “vertical tab”, e “\\”
   per la “backslash” - “\” - stessa).
  Il programma cerca inizialmente il file di configurazione “di sistema”, ovvero
   un file “indice.php.ini” nella stessa cartella in cui si trova “indice.php”,
   e se lo trova lo legge. E’ possibile inoltre specificare uno o più file
   di configurazione aggiuntivi da riga di comando con l’opzione "-I” (vedi).
   I file così specificati saranno letti nella successione con cui si presentano
   da riga di comando.
 FILE DEI LEMMI
  I file dei lemmi sono normali file di testo in cui i lemmi da cercare vanno
   elencati uno per riga. E’ possibile utilizzare, per la costruzione di un
   indice, uno o più file dei lemmi, utilizzando per ciascuno l’opzione "-f”.
  Nei file dei lemmi, a differenza che da riga di comando, per ogni lemma
   è possibile specificare un’espressione regolare (una espressione di ricerca
   particolare, da qui in avanti “regexp”) e alcune opzioni specifiche.
  I parametri di ricerca specifici per un lemma possono essere specificati
    facendo seguire il lemma stesso da un carattere “tab”, e devono essere
    intervallati essi stessi da un “tab”.
   La sintassi dei parametri è “parametro:valore”.
   I parametri noti sono i seguenti.
    “r” (regexp): permette di impostare una specifica regexp per il lemma
      (in altre parole, la regexp per la ricerca delle occorrenze del lemma
      non sarà costruita automaticamente e verrà invece utilizzata la regexp
      esplicitata qui);
    “s” (search): può essere impostato a “y” (“yes”) o “n” (“no”),
      rispettivamente perché la ricerca delle occorrenze del lemma sia
      effettivamente effettuata (default), oppure no (in questo caso
      nell’indice sarà mostrato il lemma senza alcuna occorrenza); utile per
      eventuali lemmi che rimandino ad altri lemmi (“A vedi: B”);
    “c” (case): può essere impostato a “i” o “s”, rispettivamente
      per “insensitive” (la ricerca non fa differenza tra maiuscole e minuscole)
      e “sensitive” (la ricerca fa differenza tra maiuscole e minuscole);
      in entrambi i casi, quando specificato, questo parametro “prevale” sulla
      impostazione di default relativa (vedi l’opzione "-C”);
    “e” (exclude): permette di specificare una o più pagine che saranno escluse
      dalla ricerca delle occorrenze del lemma. Es: “e:123-126,128,140-142"
      esclude dalla ricerca per il lemma le pagine dalla 123 alla 126, la 128,
      le pagine dalla 140 alla 142.
   Qui di seguito alcuni esempi di definizioni di lemmi in un file dei lemmi.
   ----
    Esempio 1:
       Entra
     Specificando la riga di cui sopra, che non ha opzioni, verranno trovate
      tutte le occorrenze della parola “entra”, a prescindere da maiuscole
      e minuscole (a meno che non si sia usata l’opzione "-C s” da riga di
      comando). Nel dettaglio, il programma costruirà automaticamente la regexp
      per la ricerca “\bCiao\b”: il programma “racchiude” tra “\b” (“word
      boundaries”) ogni lemma per cui non sia specificata una regexp ad hoc,
      per evitare per es. in questo caso che venga trovato anche “entrare”.
      Se invece per qualche motivo si volesse che per il lemma “Entra” fosse
      indicizzato anche “entrare”, “entrava”, ecc., basterà impostare una regexp
      specifica con una riga di questo tipo: “Entra[TAB]r:\bEntra”
      (il carattere“tab” viene qui rappresentato con “[TAB]” per convenienza).
    Esempio 2:
       ’Ciao’
     Specificando la riga di cui sopra, che non ha opzioni, verranno trovate
      tutte le occorrenze della parola “ciao” tra virgolette singole,
      a prescindere da maiuscole e minuscole. In questo caso la regexp costruita
      automaticamente dal programma sarà "’ciao’". Questo esempio serve
      a mostrare una caratterstica dello programma, ovvero il fatto che nella
      costruzione automatica della regexp per un lemma per cui non è stata
      specificata regexp specifica, quando l’uso dei “\b” (“word boundaries”)
      sarebbe ridondante o dannoso gli stessi non vengono usati.
    Esempio 3:
       Ciao[TAB]c:s[TAB]r:(C|c)iao(?! come va\?)[TAB]e:112,114-116
     Specificando la riga di cui sopra (in cui il carattere “tab”
      è rappresentato da “[TAB]” per convenienza), per il lemma “Ciao” verrà
      utilizzata in modo “case sensitive” la regexp "(C|c)iao(?! come va\?)";
      quindi verranno trovati nel testo “Ciao”, “ciao”, ma non “cIAO” ecc.,
      e solo se non seguiti da " come va?"; inoltre la ricerca ignorerà
      le pagina 112, 114, 115 e 116.
   ----
   Qualsiasi riga vuota nel file dei lemmi sarà ignorata, così come qualsiasi
    riga che cominci con il carattere "#". Se si vuole specificare un lemma che
    comincia con "#", basterà usare “\#" al posto di "#".
   ATTENZIONE: sembra esserci un bug nel motore delle espressioni regolari
    di php per cui per es. una ricerca “case insensitive” impostato con una
    regexp che utilizzi un “look behind” di questo tipo...
     (?<!a|bb|c)d
    ...ovvero un “look behind” con alternative di diverse lunghezze,
    non escluderebbe, per es., la stringa “Ad”. In altre parole, il bug sta
    nel fatto che il primo termine dell’alternativa, in un “look behind”
    di questo tipo, viene sempre usato in modo “case sensitive”.
    Un modo per aggirare questo bug può essere aggiungere un primo termine
    di alternativa ininfluente (per es. "(?<!x|a|b|c)d” laddove non si volessero
    trovare degli “xd”).
   ATTENZIONE: se il set di caratteri usato dal/dai file dei lemmi (che *deve*
    essere identico a quello dei file di input) è diverso da utf-8, il set
    di caratteri corretto dovrà essere specificato con l’opzione "--rcset”
    *prima* di "-f”.
 OPZIONI
  -t / --textmode
   Questa opzione indica al programma che tutti i file su cui effettuare
    la ricerca sono file di testo.
   Con questa opzione è possibile effettuare la ricerca, invece che su dei pdf,
    su dei file di testo convertiti “a mano” da pdf con “pdftotext” (senza usare
    la sua opzione "-nopgbrk”), oppure su un qualunque file di testo al cui
    interno siano definite delle “pagine” tramite un carattere o una stringa
    che definiscano univocamente i “fine pagina”. Il carattere o la stringa
    “di fine pagina” utilizzati nei file su cui effettuare la ricerca possono
    essere comunicati al programma con l’opzione "-p” (vedi). Il vantaggio dei
    file di testo rispetto ai pdf sta nel fatto che possono essere modificati,
    editati, “preparati” agevolmente ;-)
  -w / --word <stringa>
   Specifica un lemma da cercare. Può essere usato più volte per specificare più
    lemmi. Nota che per i lemmi specificati con questa opzione non è possibile
    specificare i parametri particolari e/o una regexp specifica come invece
    è possibile fare nei file dei lemmi (vedi la sezione “FILE DEI LEMMI”).
   ATTENZIONE: se il set di caratteri usato dal terminale è diverso da utf-8,
    il set di caratteri corretto dovrà essere specificato con l’opzione
    "--tcset” *prima* dell’opzione "-w”.
  -f / --headwordsfile
   Specifica un file dei lemmi, ovvero un file di testo che contiene, su ogni
    riga, un lemma, più eventuali parametri specifici per la ricerca delle
    occorrenze dello stesso. L’opzione "-f” può essere usata più volte
    per specificare più file dei lemmi; eventuali lemmi ripetuti vengono
    segnalati e “accorpati” tenendo buono il primo (e quindi i suoi eventuali
    parametri).
   Per una spiegazione dettagliata della struttura dei file dei lemmi e della
    sintassi dei parametri specificabili al loro interno per ogni lemma, vedi
    la sezione “FILE DEI LEMMI”.
   ATTENZIONE: se il set di caratteri usato dal/dai file dei lemmi (che *deve*
    essere identico a quello dei file di input) è diverso da utf-8, il set
    di caratteri corretto dovrà essere specificato con l’opzione "--rcset”
    *prima* di "-f”.
  -s / --startpage <numero>
   Specifica il numero di pagina della prima pagina del primo file specificato
    da riga di comando. Se per es. la prima pagina del primo file specificato è
    la terza del testo reale, dovrai usare "-s 3". Se non specificato, la prima
    pagina del primo file specificato sarà considerata la prima del testo reale.
  -e / --excludepages <page[s]>
    Esclude le pagine specificate dalla ricerca per tutti i lemmi.
    Es: "-e 123-126,128,140-142" esclude dalla ricerca le pagine dalla 123 alla
     126, la 128, le pagine dalla 140 alla 142. Vedi anche il parametro “e”
     specificabile per un singolo lemma, spiegato nella sezione “FILE DEI
     LEMMI”.
  -C / --casesen
   Per default, la ricerca delle occorrenze dei lemmi avviene in modo “case
    insensitive”. Specificando questa opzione la ricerca avverrà invece
    per default in modo “case sensitive”.
   In entrambi i casi, può essere attivata ricerca “case sensitive” o
    “case insensitive” su singoli lemmi utilizzando il parametro “c” in un file
    dei lemmi (vedi la sezione “FILE DEI LEMMI”).+++
  -R / --frepars
   Permette di definire manualmente i parametri “globali” (che verranno usati
   per tutte le ricerche) delle espressioni regolari. Attenzione: il parametro
   “i”, se specificato qui, rende inutile l’uso dell’opzione “globale” "-C”
   (vedi sopra) e del parametro “c” (“c:s”, “c:i”) specifico per i singoli
   lemmi (vedi la spiegazione dedicata ai parametri specifici nella sezione
   “FILE DEI LEMMI”), impostando tutte le ricerche come “case insensitive”.
    i - ignora maiusc./minusc.
    x - ?ONIG_OPTION_EXTEND?
    m - multiline
    s - singleline
    l - ?ONIG_OPTION_FIND_LONGEST?
    n - ?ONIG_OPTION_FIND_NOT_EMPTY?
    j - usa la sintassi delle regexp java
    u - usa la sintassi delle regexp gnu
    g - usa la sintassi delle regexp grep
    c - usa la sintassi delle regexp emacs
    r - usa la sintassi delle regexp ruby
    z - usa la sintassi delle regexp perl
    b - usa la sintassi delle regexp posix base
    d - usa la sintassi delle regexp posix estese
    e - ?eval() resulting code?
   I vari parametri possono essere concatenati; nel caso siano mutualmente
   esclusivi (come quelli relativi alla sintassi), vale l’ultimo specificato).
   DEFAULT: r
  -o / --ofile
   Specifica un file in cui salvare i risultati invece di mostrarli a schermo.
  -F / --fform <html|text>
   Specifica il formato in cui l’elenco sarà salvato nel file di salvataggio
    (vedi sopra). Può essere “html” o “text”.
   DEFAULT: html
  -n / --numbas
   Stampa soltanto i numeri di pagina per ogni lemma, uno per riga,
   e nient’altro (nemmeno il lemma). Quando questa opzione viene utilizzata
   le opzioni "-T”, "-m”, "--dontshowsearch” e "--dontshownomatch” vengono
   ignorate. Per i lemmi senza alcuna occorrenza sarà stampata la stringa "###".
  -P / --pagform <list|series|seqseries>
   Specifica il formato in cui saranno mostrati i numeri di pagina. Può essere
    “list”, “series” o “seqseries”. “list” mostra tutte le pagine intervallate
    da ", " (es.: "12, 13, 14, 20, 23, 24"); “series” funziona come “list” ma
    mostra eventuali intervalli come “estremo minore-estremo maggiore”
    (es.: "12-14, 20, 23-24"); “seqseries” funziona come “series”
    ma se l’intervallo è di 2 pagine utilizza la notazione " s." e se è di 3
    pagine utilizza la notazione “ss." (es.: "12 ss., 20 , 23 s.").
   DEFAULT: list
  --enclose <stringa> <stringa>
   Permette di specificiare due stringhe delle quali la prima sarà usata
    a precedere e la seconda a seguire ogni lemma nell’indice. Entrambe
    le stringhe possono essere specificate vuote (come sono per default),
    con ’’ o "".
  -T / --tipout
   Nell’indice finale stampa anche, per ogni occorrenza di ogni lemma,
    il “contesto” (una parte del testo) in cui la stessa si trova, secondo
    il “margine” impostabile con l’opzione "-m” (vedi qui sotto). All’interno
    di questa stringa di contesto l’occorrenza stessa sarà mostrata evidenziata.
  -m / --marg <numero>
   Imposta quanti caratteri del testo prima e dopo l’occorrenza vengono
    visualizzati per mostrare il contesto di ogni occorrenza se l’opzione "-T”
    (vedi qui sopra) è attiva, e/o se si usa la modalità interattiva (vedi
    l’opzione "-i”).
   Nota che il valore impostato qui è indicativo: il programma taglierà
    i contesti di ogni occorrenza all’inizio e alla fine, rispettivamente
    all’inizio della prima parola completa e alla fine dell’ultima,
    “per difetto” rispetto al valore impostato qui.
   DEFAULT: 30
  --dontshowsearch
   Se questa opzione *non* viene specificata ed è attiva l’opzione "-T”,
    sotto ogni lemma sarà mostrata la regexp utilizzata per la ricerca.
  --dontshownomatch
   Se questa opzione *non* viene specificata ed è attiva l’opzione "-T”,
    sotto ogni lemma la cui ricerca non ha prodotto risultati sarà stampato
    “NESSUNA OCCORRENZA”, e in testa all’indice sarà mostrato un compendio
    dei lemmi per cui non è stata trovata alcuna occorrenza.
  -i / --interactive
   Modalità interattiva: chiede conferma per ogni occorrenza mostrandone il
    contesto secondo l’opzione "-m” (vedi sopra).
  -N / --dontshowprog
   Non mostra a schermo il progresso della ricerca dei lemmi (o dei “lemmi
    composti” - vedi l’opzione "--showcomp”).
  --nohyphtrick
   Normalmente il programma, nel costruire la regexp di ricerca per un lemma
    per cui non sia stata specificata una regexp ad-hoc, sostituisce ogni
    trattino "-" che incontra con "-?": il trattino diventa così solo opzionale
    e in questo modo si aggira il problema costituito dai trattini che vengono
    “mangiati” da “pdftotext” perché coincidono con un “a capo”. In altre
    parole, per es., per un lemma “bing-bang” per cui non sia stata impostata
    una regexp specifica, viene trovato “bing-bang” ma anche “bingbang”:
    in questo modo se “bing-bang” va a capo nel pdf originale proprio dopo
    il trattino (“bing-[a capo]bang”), e quindi “pdftotext” lo “ricomporrà"
    in “bingbang”, il programma lo troverà ugualmente.
   L’opzione “nohyphtrick” permette di disabilitare questa funzione.
  -p / --pgrbrk <string>
   Permette di specificare il carattere o la stringa di caratteri che definisce
    un “fine pagina” nel testo su cui avviene la ricerca. Per default
    è impostato al carattere di “fine pagina” usato da “pdftotext”,
    il “form-feed” (“\f”).
   E’ ovviamente molto sconsigliato cambiare questo default quando si usano
    in input dei file pdf o ("-t”) dei file di testo creati con “pdftotext” ;-)
   Da bash, mettendo la stringa tra ’"’, è possibile passare a questo
    parametro qualsiasi carattere speciale usando la sua sequenza di escape
    (“man bash” per + info - cerca per es. “form feed”).
   ATTENZIONE: se il set di caratteri usato dal terminale è diverso da utf-8,
    il set di caratteri corretto dovrà essere specificato con l’opzione
    "--tcset” *prima* dell’opzione "-p”.
  --flows
   Usando questa opzione il programma identificherà eventuali “flussi” di testo
    definiti all’interno del/dei file di testo su cui dovrà effettuare
    la ricerca. I “flussi” possono essere definiti all’interno di un file
    di testo usando una sintassi a tag molto semplice, e può essere necessario
    farlo quando nel testo sono presenti “flussi” di testo che ne “spezzano”
    altri. Vedi il manuale per ulteriori informazioni.
  --notrimpages
   Per default, prima di effettuare la ricerca dei lemmi impostati, il programma
    fa del suo meglio ;-) per “comporre” il testo che va a capo tra pagine
    diverse (per maggiori dettagli vedi la sezione “CONSIGLI”). [+ dettagli]
   Questa opzione disattiva la funzione sopra descritta.
  -c / --cleanre <regexp> <subst>
   Con questa opzione, ripetibile, è possibile impostare delle sostituzioni che
    saranno effettuate sul testo prima della ricerca dei lemmi; in questo modo
    sarà possibile “preparare” il testo per la ricerca, per es. eliminando
    intestazioni fisse, ecc. (un altro modo per preparare il testo per la
    ricerca è quello di lavorare direttamente su file di testo ed editarli
    “a mano”, o usando tool esterni come “sed” ecc.).
   L’opzione richiede due parametri; il primo dev’essere la regexp
    di ricerca, il secondo il pattern di sostituzione, che può contenere (nella
    forma “\1", “\2" ecc.) riferimenti a “sub-expressions” definite nella
    regexp.
   E’ possibile impostare più sostituzioni utilizzando più volte questa
    opzione; le sostituzioni saranno effettuate nell’ordine in cui sono
    state definite da riga di comando.
   Attenzione a non eliminare caratteri o stringhe “di fine pagina” ;-)
    (vedi l’opzione "-p”).
  --showinput <page[s]>
   Mostra a schermo le pagine specificate del testo su cui verrà effettuata
    la ricerca, prima e dopo che ha subito le eventuali trasformazioni
    “preparatorie” impostate (vedi qui sopra "--notrimpages” e "--cleanre”).
   Es: "--showinput 123-126,128,140-142" mostra le pagine dalla 123 alla
    126, la 128, dalla 140 alla 142, prima e dopo le eventuali trasformazioni.
  -V / --showcomp
   A volte, nella costruzione di un indice, si ha un lemma “generico” seguito
    da altri lemmi che sono dei suoi “composti particolari”, e la necessità
    di cercare il lemma “generico” escludendo però i suoi composti. Per esempio,
    si potrebbe avere in un file dei lemmi un lemma “Risotto” seguito
    da un lemma “Risotto alla pescatora” e da un lemma “Risotto allo zafferano”,
    e si potrebbe volere che il primo lemma, “Risotto”, trovi tutte
    le occorrenze di “Risotto” non seguite da “alla pescatora” né da
    “allo zafferano”; a questo scopo si potrà usare una regexp specifica per il
    lemma “Risotto”.
   Utilizzando l’opzione -V/--showcomp, il programma non esegue alcuna ricerca
    nel testo (e non richiede perciò che sia specificato alcun testo su cui
    effettuarla), ma si limita a identificare e mostrare, raggruppati, eventuali
    “lemmi composti” “sparsi” nel/nei file dei lemmi; per es. “risotto”,
    “risotto alla pescatora”, “risotto allo zafferano”; oppure “Calabria”,
    “Reggio Calabria”.
   L’output di questa opzione può essere a schermo, oppure in un file
    (vedi "-o”) html o di testo (vedi "-F”).
  -r / --rcset <charset>
   Specifica il set di caratteri usato per i lemmi da cercare e per i file
    su cui sarà effettuata la ricerca.
   ATTENZIONE: se il set di caratteri usato dal/dai file dei lemmi (che *deve*
    essere identico a quello dell’output di “pdftotext” dai pdf) è diverso
    da utf-8, il set di caratteri corretto dovrà essere specificato
    con questa opzione *prima* dell’opzione "-f”.
   DEFAULT: utf-8
  --tcset <charset>
   Specifica il set di caratteri utilizzato dal terminale.
   ATTENZIONE: se il set di caratteri usato dal terminale è diverso da utf-8,
    il set di caratteri corretto dovrà essere specificato con questa opzione
    *prima* delle opzioni "-w” e "-p”.
   DEFAULT: utf-8
  --listcsets
   Mostra a schermo una lista dei set di caratteri noti ed esce.
  --pdftotextpath <path>
   Specifica il percorso dell’esegubile di “pdftotext”.
   DEFAULT: “pdftotext”
  -h / --help
   Mostra questo aiuto ed esce.

    This program comes with ABSOLUTELY NO WARRANTY; for details see the source.
    This is free software, and you are welcome to redistribute it
    under certain conditions; see <http://www.gnu.org/licenses/> for details.

NOME E VERSIONE
 lamefront.php v0.2
DESCRIZIONE
 lamefront.php passa a lame tutti i file wav contenuti nelle [directories]
 specificate per la conversione in mp3 secondo le opzioni definite, e genera
 per ciascuna directory la playlist m3u relativa.
 Gli id3 possono essere creati in base al nomefile di origine, definendo un
 carattere o una stringa come separatore dei “campi” nel nomefile di input,
 e utilizzando come parametro per l’opzione id3 una stringa in formato
 "%<numero del campo>".
 Se non vengono specificate directories, lo script lavora sulla directory
 corrente.
SINTASSI
 lamefront.php [opzioni] [directories]
ESEMPI
 Si ha una dir1 contenente i file .....
 lamefront.php dir1 dir2 --anno_album %2 --titolo_album %3 \
 --titolo_traccia %5 --artista_album %1 --artista_traccia %2 \
 --numero_traccia %4 --genere_traccia rock --commento bokonon
 Converte tutti i file wav nella dir1, utilizzando come ....

OPZIONI ID3
 --artista_album <artista dell’album>
 --anno_album <anno di uscita dell’album>
 --titolo_album <titolo dell’album>
 --commento <commento>
 --artista_traccia <artista della traccia>
 --titolo_traccia <titolo della traccia>
 --numero_traccia <numero della traccia>
 --genere_traccia <genere della traccia>
OPZIONI GENERICHE
 -e, --opzioni_encoding <opzioni di encoding per lame>
  Definisce le opzioni per la conversione in mp3 effettuata da lame.
  DEFAULT: "-V2 --vbr-new”.
 -s, --separatore_input <stringa di separazione>
  Definisce la stringa che separa i vari campi nei nomi dei file wav.
  DEFAULT: "-".
 --separatore_output <stringa di separazione>
  Definisce il separatore da usare per separare i campi nei nomifile in output.
  DEFAULT: "-".
 --usa_spazi_per_id3 <[on]/[off]>
  Definisce se convertire gli underscore (“_”) in spazi (" ") per i campi id3.
  DEFAULT: “on”
 --usa_underscore_per_ofile <[on]/[off]>
  Definisce se convertire gli spazi (" ") in underscore (“_”) nei nomifile
  di output.
  DEFAULT: “on”.
 --lista_generi
  Mostra una lista dei generi con rispettivo codice numerico, ed esce.
 --formato_nomefile_mp3 <formato>
  Definisce il formato per i nomifile mp3 in uscita.
  DEFAULT: "%artista_album %anno_album %titolo_album %numero_traccia %titolo_traccia”.
 --formato_nomefile_m3u <formato>
  Definisce il formato per il nomefile della lista m3u.
  DEFAULT: "%artista_album %anno_album %titolo_album”.
 --formato_nomedir_output <formato>
  Definisce il formato per il nome della directory di output in cui saranno
  salvati gli mp3 e la playlist; se il parametro "--nomedir_output” non è
  specificato, la dir di output verrà creata, secondo il formato definito,
  come subdir della dir contenente i wavs; altrimenti verrà creata, secondo
  il formato definito, come subdir della dir specificata da "--nomedir_output”.
  DEFAULT: "%artista_album %anno_album %titolo_album”.
 --nomedir_output <path>
  Se specificato, definisce la directory in cui saranno create, secondo
  il formato definito da "--formato_nomedir_output”, le subdir in ciascuna
  delle quali saranno salvati gli mp3 e la playlist di ciascuna dir passata
  al programma come dir contenente wavs; se non specificato (DEFAULT), le subdir
  per gli mp3 e la playlist in uscita saranno create come subdir di ciascuna
  dir passata al programma come dir contenente wavs.
 --usa_carino
  Usa un set di opzioni molto carino.
 --path_lame <path dell’eseguibile lame>
  Definisce il path dell’eseguibile lame da usare.
  DEFAULT: “lame”.
 -r --ricorsivo
  Lavora ricorsivamente su tutte le sottodir di ciascuna dir specificata, in cui
  siano presenti dei file wav (NON IMPLEMENTATO).
 --converti_charset <[“off“]/[input charset,output charset,<“id3",“m3u”,“fn”>]>
  Se “off” (DEFAULT), disabilita la conversione del charset; altrimenti richiede
  di definire il charset dell’input, quello da usare in output, e almeno una
  “entità" cui la conversione dev’essere applicata, il tutto separato da ",".
  Per una lista dei charset disponibili usa l’opzione "--charset_list”.
  Le “entità" cui la conversione può essere applicata sono:
  “id3": applica la conversione alle tag id3 (v1.x o v2.x);
  “m3u”: applica la conversione al contenuto del file playlist;
  “fn”: applica la conversione a tutti i nomi di file e directories in uscita.
  Esempio: “lamefront.php --converti_charset utf-8,iso-8859-1,id3"
            Converte le variabili in input dalla codifica utf-8 a iso-8859-1,
            solo per le tag id3.
 --lista_charsets
  Mostra una lista dei charset disponibili ed esce.
  Vedi anche "--converti_charset”.
 --debug
  Se specificato, mostra alcune informazioni di debug durante l’esecuzione.
 -h, --help
  Mostra questo aiuto ed esce.
 -v, --version
  Mostra la versione del programma ed esce.

   This program comes with ABSOLUTELY NO WARRANTY; for details see the source.
   This is free software, and you are welcome to redistribute it
   under certain conditions; see <http://www.gnu.org/licenses/> for details.

 NOME E VERSIONE
  modmem.php v0.1
 DESCRIZIONE
  modmem.php lista i moduli caricati (se viene specificata una
  mask con espressione regolare, solo quelli che corrispondono)
  con il rispettivo peso in ram e produce un totale dello stesso.
 SINTASSI
  modmem.php [opzioni] [mask]
 OPZIONI
  -o / --order <d|dr|a|ar|n>
   Specifica in che ordine devono essere listati i moduli.
   d: per dimensione in memoria (il piu` pesante in basso)
   dr: per dimensione in memoria (il piu` pesante in alto)
   a: in ordine alfabetico
   ar: in ordine alfabetico invertito
   n: senza alcun ordine, come mostrati da lsmod.
   DEFAULT: dr
  -s / --showdesc
   Mostra, oltre al nome e alla memoria occupata, anche una descrizione
   dello stesso (come riportata da modinfo).
  -d / --debug
   Mostra info di debug durante l’esecuzione.
  -h / --help
   Mostra questo aiuto ed esce.

    This program comes with ABSOLUTELY NO WARRANTY; for details see the source.
    This is free software, and you are welcome to redistribute it
    under certain conditions; see <http://www.gnu.org/licenses/> for details.

 NOME E VERSIONE
  niceren.php 0.1
 SINTASSI
  niceren.php <file[s]> [opzioni]
 DESCRIZIONE
  niceren.php rinomina i file specificati, nelle cartelle
  di origine, per la maggiore compatibilita`.
 OPZIONI
  -r / --rename
   Effettua realmente la rinomina.
   Per default lo script si limita a mostrarla.
  -c / --capfirst
   Forza a maiuscolo il primo carattere del nomde file.
  -w / --windows
   Converte i caratteri non legali sotto windows (\/:*?"<>|).
  -a / --ascii
   Forza l’utilizzo soli caratteri ASCII per il nuovo filename.
   Equivale a "-t ascii”, vedi sotto.
  -f / --fromcs
   Specifica il charset dei nomifile originali.
   DEFAULT: UTF-8
  -t / --tocs
   Imposta il charset dei nuovi nomifile.
   DEFAULT: UTF-8
  -l / --listcs
   Mostra una lista dei charset noti ed esce.
  -h / --help
   Mostra questo aiuto ed esce.
  -d / --debug
   Mostra info di debug durante l’esecuzione.

    This program comes with ABSOLUTELY NO WARRANTY; for details see the source.
    This is free software, and you are welcome to redistribute it
    under certain conditions; see <http://www.gnu.org/licenses/> for details.

 NOME E VERSIONE
  par.php v0.2
 DESCRIZIONE
  par.php formatta uno o piu` file in input secondo le opzioni date.
  Puo` effettuare conversione di charset e ha opzioni speciali
  per il trattamento di e-mail.
 SINTASSI
  par.php [opzioni] [file[s]] [opzioni] [file[s]]
  Se nessun file e` specificato da linea di comando, par.php legge da stdin.
  Il carattere "-" a se` stante indica stdin tra i file da considerare.
  Le opzioni in forma breve (quelle precedute da singolo "-") possono essere
  concatenate fino a un’eventuale opzione che richieda un parametro.
 OPZIONI
  -w / --width <numero caratteri>
   Imposta la larghezza della “pagina” in caratteri.
   Se impostato a 0, mantiene la giustezza originaria e rende ininfluenti
   le opzioni "-a”, "-m” e "-b”.
   DEFAULT: 72
  -c / --currentwidth
   Imposta “width” (vedi sopra) alla larghezza attuale dello schermo.
  -a / --align <“s”|“d”|“c”|“g”>
   Imposta l’allineamento dei paragrafi.
     s : allineamento a sinistra
     d : allineamento a destra
     c : allineamento centrato
     g : giustificato
     G : giustificato, compresa l’ultima riga del paragrafo
   DEFAULT: g
  -m / --margin <“s”|“d”> <numero caratteri>
   Imposta l’ampiezza in caratteri del margine sinistro o destro. I margini
   vegono *sottratti* alla “pagina” impostata con “width”.
   DEFAULT: sinistro 0, destro 0
  -b / --border <“s”|“d”> <stringa>
   Imposta il bordo sinistro o destro della “pagina”, per default nulli.
   I bordi vengono *aggiunti* alla “pagina” impostata con “width”.
   DEFAULT: sinistro "", destro ""
  -r / --rientro <numero caratteri>
   Imposta l’ampiezza in caratteri del rientro che sara` applicato a ogni prima
   riga di paragrafo (tranne la prima di sezione, come iddio comanda).
   DEFAULT: 0
  -t / --tabsize <numero caratteri>
   par.php converte tutti i caratteri di tabulazione in spazi. Con questa
   opzione e` possibile impostare il numero di spazi con cui ogni carattere
   di tabulazione sara` sostituito.
   DEFAULT: 4
  -f / --fcset <nome charset>
   Imposta il charset utilizzato per TUTTI i file in input.
   DEFAULT: utf-8
  -i / --icset <nome charset>
   Imposta il charset usato in input (il charset del terminale: puo` influenzare
   l’opzione -b).
   DEFAULT: utf-8
  -o / --ocset <nome charset>
   Imposta il charset usato in output.
   Se impostato ad “ascii”, verra` effettuata transliterazione (es. una “a”
   accentata sara` convertita in “a`”).
   DEFAULT: utf-8
  -l / --lcsets
   Mostra una lista dei charset utilizzabili ed esce.
  -n / --nobreak
   Non spezza le singole parole piu` lunghe dello spazio “pagina” disponibile.
   Utile per es. per evitare che url lunghe vengano spezzate su piu` righe.
   Ininfluente se “width” e` uguale 0.
  -q / --qmode <modo>
   Imposta un trattamento intelligente per le righe “quotate”.
   “modo” puo` essere:
    u : stessa impostazione di “width” e “align” usata per il resto del testo
    n : nessun “width”, nessun “align”
  -d / --dbg
   Mostra info di debug durante l’esecuzione.
  -h / --help
   Mostra questo aiuto ed esce.

    This program comes with ABSOLUTELY NO WARRANTY; for details see the source.
    This is free software, and you are welcome to redistribute it
    under certain conditions; see <http://www.gnu.org/licenses/> for details.

NOME E VERSIONE
  prpl.php v0.2
 DESCRIZIONE
  prpl.php effettua sostituzioni nei file indicati secondo i pattern
  di ricerca e sostituzione (in standard pcre) specificati. Può chiedere
  (opzionalmente) conferma per ogni sostituzione, mostrando le modifiche
  evidenziate.
  Attenzione: lo script carica l’intero file in una stringa e su questa esegue
  le ricerche, perciò sarà necessario usare il modificatore “m” perché “^” e "$"
  corrispondano a inizio e fine di ogni riga (vedi anche gli esempi).
  Per vedere tutti i modificatori disponibili (alcuni aggiunti rispetto a quelli
  di perl):
   http://it.php.net/manual/it/reference.pcre.pattern.modifiers.php
 SINTASSI
  prpl.php [opzioni] <pattern di ricerca> <pattern di sost.> <path[s]>
 OPZIONI
  -i / --invert
   Inverte il funzionamento: la sostituzione viene applicata solo alle parti
   che NON corrispondono al pattern di ricerca.
   Per ora questa modalità non funziona interattivamente, ma soltanto
   se combinata con l’opzione -l o -v (vedi sotto).
  -l / --noconfmod
   Non chiede conferma di ogni modifica.
  -s / --noconfsave
   Non chiede conferma del salvataggio delle eventuali modifiche nel file.
  -v / --viewonly
   Si limita a mostrare a schermo le modifiche che apporterebbe.
  -e / --escape
   Trasforma le sequenze di escape nel pattern di sostituzione secondo lo
   standard del C (\n=new line, \t=tab, ecc.); occhio perché la prima
   a effetture sostituzioni sugli argomenti passati può essere bash.
   Per verificare come il pattern di sostituzione viene visto “di per sé" dallo
   script, si può utilizzare l’opzione "-d” (vedi sotto).
  -t / --tcset [nome del charset]
   Imposta il charset del terminale. Ha effetto solo “estetico”,
   per visualizzare correttamente l’output. Per vedere la lista dei charset
   disponibili, usa questa opzione senza argomenti. Il nome del charset
   è case insensitive.
   DEFAULT: utf-8
  -f / --fcset [nome del charset]
   Imposta il charset dei file in input (tutti). Ha effetto solo “estetico”,
   per visualizzare correttamente l’output. Per vedere la lista dei charset
   disponibili, usa questa opzione senza argomenti. Il nome del charset
   è case insensitive.
   DEFAULT: utf-8
  -h / --help
   Mostra questo aiuto ed esce.
  -d / --debug
   Mostra info di debug durante l’esecuzione.
 ESEMPI
  prpl.php "/costante/" “continuo” pippo.txt
   Cerca “costante” e lo sostituisce con continuo in pippo.txt
  prpl.php "/costante/i” “continuo” pippo.txt
   Cerca “costante” e lo sostituisce con continuo in pippo.txt
   Trova anche “Costante”, “cOstante” ecc.
 Per info approfondite sulle espressioni regolari “perl compatibili” in php vedi
 http://php.net/manual/en/regexp.reference.php (...e dintorni).

NOME E VERSIONE
 symlink.bash v0.1
DESCRIZIONE
 Crea symlinks ai percorsi passati come argomento in una directory scelta
 attraverso il browser di zenity.
SINTASSI
 symlink.bash <percorso[i]>
INSTALLAZIONE
 Lo script richiede che sul tuo sistema siano installati bash, realpath, fmt e zenity.
 È probabilissimo che nel tuo sistema i primi tre siano già installati, siccome
 si tratta di programmi base, standard di quasi tutte le distribuzioni linux; è molto
 probabile che sia installato anche zenity; altrimenti li troverai sicuramente tra
 i pacchetti disponibili per la tua distribuzione.
 Copia il file "symlink.bash" che hai scaricato in una directory tra quelle incluse
 nella tua variabile d'ambiente PATH (di solito basta che lo metti in "/usr/local/bin"),
 impostalo come eseguibile ("chmod +x [/percorso/di/]symlink.bash") poi crea nel tuo
 file manager una "azione personalizzata" che ti consenta di utilizzarlo quando vuoi.
 Per esempio, con Thunar (il file manager di default di XFCE), fai "Modifica", "Imposta
 azioni personalizzate" e crea una nuova azione. Dalle il nome e la descrizione che vuoi
 (per es. "Crea collegamenti", "Crea collegamenti in una cartella a scelta") e specifica
 come comando "symlink.bash %F"; se vuoi puoi assegnare all'azione un'icona che verrà
 mostrata nel menù; nella scheda "Condizioni di visibilità" metti "*" nella casella
 "Schema dei file" e attiva tutte le voci sotto "Appare se la selezione contiene".
 Fatto questo pigia "Ok". D'ora in poi, pigiando sopra uno o più file e/o cartelle
 selezionati con il tasto destro del mouse, avrai nel menu a comparsa una nuova voce
 che ti permetterà di creare collegamenti agli stessi in una cartella a tua scelta
 tramite il tuo file browser di default (symlink.bash apre ricorda l'ultima cartella
 utilizzata e apre il file browser per la scelta della destinazione sulla stessa).
 [ Screenshot ]

NOME E VERSIONE
 text2html.php v0.1
DESCRIZIONE
 text2html.php converte un file di testo in html secondo le opzioni date.
 Se non viene specificato alcun file, legge da stdin.
SINTASSI
 text2html.php <filepath[s]> [opzioni]
OPZIONI
 -e / --encoding <encoding>
  Permette di specificare l’encoding usato dal file di testo.
  Gli encoding noti sono: ISO-8859-1, ISO-8859-15, UTF-8, cp866, cp1251, cp1252,
  KOI8-R, BIG5, GB2312, BIG5-HKSCS, Shift_JIS, EUC-JP.
  DEFAULT: utf-8
 -b / --onlybr
  Converte tutti gli “a capo” in "<br>", invece di utilizzare anche i "<p></p>".
 -t / --noemptyatend
  Elimina eventuali righe vuote a fine testo.
 -n / --nicequotes
  Sostituisce tutti i ’ con ’, tutti i " di apertura con “, tutti i "
  di chiusura con ”.
 -o / --onlynbsp
  Sostituisce tutti gli spazi con "&nbsp;".
 -s / --savetofile
  Scrive l’output di ciascun file in un file con lo stesso nome ed estensione
  ".html”.
  ATTENZIONE: se il file di output esiste gia` viene sovrascritto.
 -d / --dbg
  Mostra info di debug.
 -h / --help
  Mostra questo aiuto ed esce.

 NOME E VERSIONE
  textdbtool.php 0.1
 SINTASSI
  textdbtool.php [opzioni] <file[s]> [opzioni]
 DESCRIZIONE
  textdbtool.php esegue operazioni sui file specificati trattandoli come
  file “database” contenenti “record” separati da un determinato carattere.
  Puo` filtrare, trimmare, pulire, ordinare i “record” identificati;
  puo` rimuovere quelli vuoti o i duplicati. Queste funzioni vengono applicate
  dal programma nello stesso ordine con cui sono descritte le “opzioni relative
  ai record identificati” piu` sotto.
  Nota: textdbtool.php utilizza le “multibyte string functions”
  di php per le espressioni regolari, e le sue funzioni “iconv”
  per la conversione del testo; e` quindi utilizzabile con file encodati
  con gli encoding supportati da *entrambe* le librerie (per vederne una lista
  usa "-l”).
 OPZIONI GENERALI
  -i / --idelim <regex>
   <regex> e` l’espressione regolare con cui e` possibile definire
   “il separatore” dei “record” nel file. La regex di default e` il carattere
   di newline (l’“a capo” unix, “\n”), con cui viene considerata come singolo
   “record” ogni singola riga di testo.
  -o / --odelim <stringa>
   Utilizza <stringa> come separatore dei “record” in output.
   DEFAULT: “\\n”
  -c / --cdelim <regex>
   <regex> e` l’espressione regolare con cui e` possibile definire
   “il separatore” dei “campi” di ciascun “record” nel file. La regex
   di default e` il carattere di tab (“\t”).
  -w / --write
   Salva i cambiamenti nei rispettivi file; se non specificato, i cambiamenti
   vengono solo mostrati a schermo.
  -T / --termcs
   Specifica il charset utilizzato dal terminale, quindi anche quello di tutte
   le opzioni passate al programma. E` importante soprattutto rispetto alle
   opzioni che utilizzano espressioni regolari, e deve precederle sulla riga
   di comando (il charset specificato viene tenuto in considerazione soltanto
   per le opzioni che seguono questa).
   DEFAULT: “utf-8"
  -F / --filecs
   Specifica il charset utilizzato nel/nei file.
   DEFAULT: “utf-8"
  -l / --listcs
   Mostra a schermo una lista dei charset noti ed esce.
  -g / --dbg
   Mostra info di debug durante l’esecuzione.
  -h / --help
   Mostra questo aiuto ed esce.
 OPZIONI RELATIVE AI “RECORD” IDENTIFICATI
  -r / --regexr <regex>
   Rimuove i “record” che corrispondono all’espressione regolare data.
  -k / --regexk <regex>
   Rimuove i “record” che non corrispondono all’espressione regolare data.
  -t / --trim
   Trimma i “record” (rimuove tabs, newlines ecc. da inizio e fine “record”).
   E` mutualmente esclusivo rispetto a "-p” (vedi sotto).
  -p / --purge
   Rimuove tabs, newlines ecc. da tutto il “record”.
   E` mutualmente esclusivo rispetto a "-t” (vedi sopra).
  -b / --noblanks
   Rimuove i “record” vuoti.
  -d / --nodupes
   Rimuove i “record” i duplicati, conservandone solo uno.
  -s / --sort
   Ordina alfabeticamente i “record”.
  -P / --presortres <pattern di ricerca> <pattern di sostituzione>
   Prima di effettuare l’ordinamento, applica una sostituzione sui “record”
   secondo il pattern di ricerca e quello di sostituzione specificati.
   Questa sostituzione e` a uso esclusivo dell’ordinamento, i “record”
   non subiscono alcuna sostituzione.
   ESEMPIO:
    Si da` un file “x.txt”:
     --- inizio x.txt ---
     aaa
     ccc
     -bbb
     --- fine x.txt ---
    Si applica un ordinamento con “textdbtool.php x.txt -s -P ’/^-/’ ’’";
    il risultato sara`:
     --- inizio risultato ---
     aaa
     -bbb
     ccc
     --- fine risultato ---
    Se non si fosse usato "-P ’/^-/’ ’’", che elimina (solo per l’ordinamento)
    tutti i "-" all’inizio di ogni riga (sostituendoli con niente: "’’"),
    il risultato sarebbe stato:
     --- inizio risultato ---
     -bbb
     aaa
     ccc
     --- fine risultato ---
   ATTENZIONE: questa funzione implica l’opzione "-d”.
  -I / --presorticonv <charset[”//TRANSLIT“]>
   Prima di effettuare l’ordinamento, applica ai “record” una conversione
   verso il charset specificato. La conversione e` a uso esclusivo
   dell’ordinamento, i “record” non subiscono alcuna conversione.
   L’uso piu` utile e` "-I ascii//TRANSLIT” ......
   ATTENZIONE: questa funzione implica l’opzione "-d”.
  -S / --presorticonvsp <intero>
   Se la lunghezza in caratteri del risultato della conversione di charset
   effettuata con "-I” (vedi sopra) su un record e` minore di questo valore,
   che rappresenta la percentuale rispetto al record originale, viene mostrato
   un avviso. Puo` essere utile per verificare che la conversione non abbia
   “mangiato” un pezzo del record originale (“iconv” converte “fin dove puo`”).
   DEFAULT: 80

NOME E VERSIONE
  wrapper.php v0.1
 DESCRIZIONE
  wrapper.php esegue il comando dato ("-c”) su ciascuno degli argomenti
  specificati da riga di comando e/o letti da un file lista ("-l”).
  Il comando impostato puo` contenere diverse macro.
 SINTASSI
  wrapper.php <-c <comando>> [opzioni] <argomento1> [argomento2] [...] [opzioni]
 OPZIONI
  -m / --modo <modo>
   Modo puo` essere...
    “files” : considera ogni argomento come un file; esegue controlli
              sull’esistenza di ognuno e abilita alcune macro specifiche.
    “args”  : considera ogni argomento come un argomento; esegue controlli
              sull’esistenza di ognuno.
   DEFAULT:
  -c / --comando <comando>
   Imposta il comando da eseguire sugli argomenti dati.
   All’interno della stringa “comando” possono essere usate alcune macro.
    Macro sempre disponibili:
     %a  : l’argomento cosi` com’e`
     %t  : timestamp del momento in cui lo script e` stato lanciato
    Macro disponibili solo in modalita` “files”:
     %p  : path completo del file
     %op : path del file
     %f  : nomefile completo
     %fn : nome del file
     %fe : solo l’estensione del file
  -r / --ricorsivo <espressione regolare per filtraggio dei file>
   Se attivata, questa opzione fa si` che il programma utilizzi ricorsivamente
   tutte le directory passate come argomento, considerando soltanto i file
   che corrispondono all’espressione regolare specificata.
   (Per includere qualsiasi percorso usa ".").
  -D / --incdir
   Per default il programma non considera le directory passate come argomenti,
   ma soltanto i file. Questa opzione fa si` che consideri anche le directory.
  -l / --lista <file>
   Legge gli argomenti da “file” (1 argomento per riga). Gli argomenti letti
   da “file” vengono *aggiunti* a eventuali altri passati da riga di comando.
  -i / --ichar
   Imposta il carattere che identifica una macro. Utile per differenziare,
   qualora ce ne fosse bisogno, il carattere che designa le macro
   da eventuali caratteri dotati di un significato particolare per il comando
   impostato.
   DEFAULT: %
  -s / --simu
   Fa in modo che il programma non esegua realmente il comando ma si limiti
   a mostrarlo.
  -d / --dbg
   Mostra info di debug durante l’esecuzione.
  -h / --help
   Mostra questo aiuto ed esce.
 ESEMPI
  $ wrapper.php immagini/*.txt -c “ls -la %p”
   Esegue “ls -la” su ciascun file .txt nella cartella “immagini”.
  $ wrapper.php immagini/*.png -c “convert -resize 700x700 %p %op/out/%fn.jpg”
   Ridimensiona ciascun file .png nella cartella “immagini” e lo salva in .jpg
   nella cartella immagini/out.
  $ wrapper.php -c “emerge -pv %a” --modo args --lista lista.emerge glibc urxvt
   Esegue “emerge -pv " su ognuno degli argomenti listati in “lista.emerge”
   e su “glibc” e “urxvt”.
 VALORI DI RITORNO
  Il programma esce con 0 se nessun comando eseguito e` uscito con valori
  diversi da 0, con 1 se rivela errori nei parametri passati, con 2 se almeno
  uno dei comandi eseguiti e` uscito con un valore diverso da 0.

 NOME E VERSIONE
  ws2-to-txt.php v0.1
 DESCRIZIONE
  ws2-to-txt.php converte file wordstar 2000 in testo semplice.
 SINTASSI
  ws2-to-txt.php [opzioni] <file_1> [file_2] [file_...] [opzioni]
 OPZIONI
  -n / --disab-screen-output
   Disabilita l’output a schermo del testo convertito.
  -f / --save-files
   Salva l’output in un file con nome uguale a quello originario + ".txt”.
   Se il file esiste gia` e non e` specificata l’opzione -s (vedi sotto),
   verra` richiesta conferma della sovrascrittura.
  -s / --overwrite
   Sovrascrive eventuali file in output gia` esistenti senza chiedere conferma.
  -i / --input-cset <charset>
   Imposta il charset usato dal file wordstar 2000.
   DEFAULT: CP437
  -o / --output-cset <charset>
   Imposta il charset da usare per il testo in output.
   DEFAULT: UTF-8
  -l / --list-csets
   Mostra una lista dei charsets disponibili ed esce.
  -d / --dbg
   Mostra info di debug durante l’esecuzione.
  -h / --help
   Mostra questo aiuto ed esce.

 
Rame » CLI scripts