<?xml version="1.0" encoding="UTF-8"?>
<article id="Filters">
  <title>Utilizzo dei filtri<indexterm>
      <primary>filtri</primary>

      <seealso>filtri di file</seealso>

      <seealso>maschere di file</seealso>

      <seealso>filtri di linea</seealso>

      <seealso>filtri sostitutivi</seealso>
    </indexterm></title>

  <para>Quando confronti file o cartelle, puoi utilizzare i filtri per restringere
l'ambito del confronto.Ciò può essere utile quando desideri semplificare il
risultato del confronto eliminando le differenze che non ti interessano. I
filtri sono regole basate su espressioni regolari.WinMerge utilizza il
popolare motore di espressioni regolari PCRE (Perl Compatibile Regular
Expressions).<indexterm>
      <primary>espressioni regolari</primary>

      <secondary>motore supportato</secondary>
    </indexterm><indexterm>
      <primary>Motore di espressioni regolari PCRE</primary>
    </indexterm><indexterm>
      <primary>espressione regolare</primary>

      <see>espressioni regolari</see>
    </indexterm></para>

  <para>La funzione di base del filtro è semplice: valuta ogni elemento che verrebbe
normalmente confrontato (una cartella, un file o una riga all'interno di un
file) e, se l'espressione del filtro corrisponde all'elemento di
destinazione, applica il filtro.A seconda del tipo di filtro, l'elemento
viene incluso o escluso dal confronto.</para>

  <para>Esistono diversi filtri WinMerge per le operazioni di confronto di cartelle
e file:</para>

  <variablelist>
    <varlistentry>
      <term>Confronto cartelle: maschere di file e filtri di file<indexterm>
          <primary>confronto delle cartelle</primary>

          <secondary>filtraggio</secondary>
        </indexterm></term>

      <listitem>
        <para>È possibile specificare i file da includere in un confronto di cartelle
utilizzando semplici maschere di file o, per filtri più complessi,
applicando più regole specificate in un filtro di file.</para>

        <para>I file e le cartelle filtrati vengono nascosti nel risultato per
impostazione predefinita, che in genere è ciò che desideri.Puoi fare clic su
<menuchoice> <guimenu >Visualizza</guimenu> <guimenuitem >Visualizza
elementi saltati</guimenuitem > </menuchoice > per mostrare gli elementi
filtrati, ma la finestra Confronta cartelle mostra solo informazioni minime
su di essi.Ad esempio, non è possibile stabilire se un file ignorato è un
file di testo o binario.</para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term>Confronti di file: filtri di riga e filtri di sostituzione<indexterm>
          <primary>confronto dei file</primary>

          <secondary>filtraggio</secondary>
        </indexterm></term>

      <listitem>
        <para>I filtri di riga vengono applicati solo alle operazioni di confronto dei
file.Ti consentono di ignorare le differenze su una singola riga.</para>
        <para>I filtri di sostituzione vengono applicati solo alle operazioni di confronto
dei file.Sostituiscono le stringhe nel blocco diff con le stringhe
specificate, le confrontano e ignorano il blocco diff se i risultati della
sostituzione corrispondono.Sono utili per ignorare un gran numero di
modifiche poco interessanti.</para>
      </listitem>
    </varlistentry>
  </variablelist>

  <section id="Filters_Mask">
    <title>Utilizzo delle maschere dei file<indexterm>
        <primary>maschere di file</primary>
      </indexterm><indexterm>
        <primary>filtri</primary>

        <secondary>maschere di file</secondary>
      </indexterm><indexterm>
        <primary>filtri</primary>

        <secondary>nei confronti delle cartelle</secondary>
      </indexterm></title>

    <para>È possibile utilizzare una o più <glossterm>maschere file</glossterm> che
specificano le estensioni dei file da includere in un confronto di
cartelle.Tutti gli altri file vengono omessi dalla selezione.</para>

    <section id="Filters_MaskApply">
      <title>Definizione e applicazione di maschere di file<indexterm>
          <primary>riga di comando</primary>

          <secondary>applicare maschere di file</secondary>
        </indexterm></title>

      <para>Definisci e applica una maschera file nel momento in cui avvii l'operazione
di confronto delle cartelle:</para>

      <itemizedlist>
        <listitem>
          <para>Se stai usando la finestra di dialogo Seleziona file o cartelle, dopo aver
scelto le cartelle <guilabel >1a</guilabel > e <guilabel >2a</guilabel >,
inserisci una o più maschere di file nel campo <guilabel >Filtro</guilabel
>.Le maschere vengono applicate quando si avvia l'operazione di confronto
delle cartelle.</para>
        </listitem>

        <listitem>
          <para>Se stai usando la riga di comando di WinMerge, usa il flag
<option>-f</option> per specificare le maschere dei file (vedi l'esempio
nella prossima sezione).</para>
        </listitem>
      </itemizedlist>
    </section>

    <section id="Filters_MaskSyntax">
      <title>Sintassi ed esempio della maschera file<indexterm>
          <primary>regole</primary>

          <secondary>maschere di file</secondary>
        </indexterm><indexterm>
          <primary>filtri</primary>

          <secondary>maschere di file</secondary>
        </indexterm><indexterm>
          <primary>espressioni regolari</primary>

          <secondary>nelle maschere dei file</secondary>
        </indexterm></title>

      <para>Puoi specificare maschere file e filtri estesi utilizzando questo formato:</para>

      <synopsis>
        <replaceable>Filtro1 Gruppo1</replaceable>;<replaceable>Filtro2</replaceable> ...|<replaceable>Filtro1 Gruppo2</replaceable>;<replaceable>Filtro2</replaceable> ...|...
      </synopsis>

      <itemizedlist>
        <listitem><para>Il carattere <filename>|</filename> separa i gruppi di filtri e funge da AND
logico.</para></listitem>
        <listitem><para>I filtri all'interno dello stesso gruppo sono separati da
<filename>;</filename> e vengono interpretati con un OR logico.</para></listitem>
        <listitem><para>Un file viene incluso solo se corrisponde ad almeno un filtro in ciascun
gruppo.</para></listitem>
        <listitem>
          <para>Per includere un carattere letterale <filename>|</filename> (pipe) in
un'espressione regolare che non è racchiusa tra virgolette doppie (come nei
filtri <filename>f:</filename> o <filename>f!:</filename>), utilizzare
invece <filename>||</filename>.</para>
          <para>Esempio: <userinput>f:(abc||def)\.txt$</userinput></para>
        </listitem>
        <listitem>
          <para>Ciascun filtro (ad esempio, Filtro1, Filtro2) può essere uno dei seguenti
tipi:</para>
          <variablelist>
            <varlistentry><term><replaceable>*.ext</replaceable></term><listitem><para>Maschera file per estensione (ad es. *.txt)</para></listitem></varlistentry>
            <varlistentry><term><replaceable>*.</replaceable></term><listitem><para>File senza estensione (ad esempio README)</para></listitem></varlistentry>
            <varlistentry><term>!<replaceable>*.ext</replaceable></term><listitem><para>Escludi file corrispondenti all'estensione (disponibile dalla versione
2.16.19)</para></listitem></varlistentry>
            <varlistentry><term><replaceable>cartella</replaceable>\</term><listitem><para>Cartelle di destinazione (devono terminare con \) (disponibile dal 16.2.19)</para></listitem></varlistentry>
            <varlistentry><term>!<replaceable>cartella</replaceable>\</term><listitem><para>Escludi cartelle corrispondenti (disponibile dal 16.2.19)</para></listitem></varlistentry>
            <varlistentry><term>f: <replaceable>regexp</replaceable></term><listitem><para>Abbina i nomi dei file utilizzando le espressioni regolari (disponibile
dalla versione 2.16.49)</para></listitem></varlistentry>
            <varlistentry><term>f!: <replaceable>regexp</replaceable></term><listitem><para>Escludi file corrispondenti a regex (disponibile dalla versione 2.16.49)</para></listitem></varlistentry>
            <varlistentry><term>d: <replaceable>regexp</replaceable></term><listitem><para>Abbina i nomi delle cartelle utilizzando regex (disponibile dalla versione
2.16.49)</para></listitem></varlistentry>
            <varlistentry><term>d!: <replaceable>regexp</replaceable></term><listitem><para>Escludi cartelle corrispondenti a regex (disponibile dal 2.16.49)</para></listitem></varlistentry>
            <varlistentry><term>fe: <replaceable>espressione</replaceable></term><listitem><para>Espressione di filtro per file (ad esempio fe:Size &lt; 1KB) (disponibile
dal 16.2.49)</para></listitem></varlistentry>
            <varlistentry><term>fe!: <replaceable>expr</replaceable></term><listitem><para>Espressione di filtro per escludere file (disponibile dalla versione
2.16.49)</para></listitem></varlistentry>
            <varlistentry><term>de: <replaceable>espressione</replaceable></term><listitem><para>Espressione di filtro per cartelle (disponibile dalla versione 2.16.49)</para></listitem></varlistentry>
            <varlistentry><term>de!: <replaceable>espressione</replaceable></term><listitem><para>Espressione di filtro per escludere cartelle (disponibile dalla versione
2.16.49)</para></listitem></varlistentry>
            <varlistentry><term>pf: <replaceable>nome filtro file</replaceable></term><listitem><para>Applica un filtro file per nome (disponibile dalla versione 2.16.49)</para></listitem></varlistentry>
          </variablelist>
        </listitem>
      </itemizedlist>

      <example>
        <title>Maschera di archivio</title>

        <para>In questo esempio da riga di comando, l'operazione di confronto delle
cartelle include solo file con estensioni <filename>xml</filename> o
<filename>txt</filename>.Tutti gli altri file vengono omessi:</para>

        <para><userinput>WinMergeU c:\project\docs c:\temp /f *.xml;*.txt</userinput></para>
      </example>

      <example>
        <title>Escluse le cartelle (dalla versione 2.16.19)</title>

        <para>In questo esempio da riga di comando, l'operazione di confronto delle
cartelle esclude le cartelle <filename>.git</filename> e
<filename>.vs</filename>:</para>

        <para><userinput>WinMergeU c:\project\docs c:\temp /f !.git\;!.vs\</userinput></para>
      </example>

      <example>
        <title>Espressione filtro (dalla versione 2.16.49)</title>

        <para>In questo esempio da riga di comando, l'operazione di confronto delle
cartelle include solo file con estensioni <filename>cpp</filename> o
<filename>h</filename> e una dimensione di file inferiore a 1 KB:</para>

        <para><userinput>WinMergeU c:\project\docs c:\temp /f "*.cpp;*.h|fe:Dimensione
&lt; 1KB"</userinput></para>
      </example>
    </section>

    <section id="FilterExpression_Syntax">
      <title>Sintassi dell'espressione di filtro</title>

      <para>
WinMerge consente un potente filtraggio utilizzando espressioni che operano
sui metadati dei file, sui contenuti e sul contesto di confronto.Questa
sezione descrive gli attributi, gli operatori, le funzioni, i tipi di dati e
le regole di valutazione supportati.</para>

      <section id="FilterExpression_Literals">
        <title>Letterali e tipi</title>

        <para>I tipi letterali supportati includono:</para>
        <itemizedlist>
          <listitem><para><emphasis>Booleano</emphasis>: <literal>vero</literal>,
<literal>falso</literal></para></listitem>
          <listitem><para><emphasis>Intero</emphasis>: interi con segno a 64 bit (ad esempio,
<literal>1024</literal> o con unità come <literal>100KB</literal>,
<literal>7 giorni</literal>)</para></listitem>
          <listitem><para><emphasis>Reale (doppio)</emphasis>: numeri in virgola mobile con decimale o
esponente opzionale (ad esempio, <literal>3.14</literal>,
<literal>.5</literal>, <literal>1e6</literal>)</para></listitem>
          <listitem><para><emphasis>Stringa</emphasis>: racchiusa tra virgolette doppie (ad esempio,
<literal>"esempio"</literal>)</para></listitem>
        </itemizedlist>

        <para>
Internamente, i valori possono essere dei seguenti tipi: Booleano, Intero,
Reale, Timestamp, Stringa, Contenuto file, Array o <literal>non
definito</literal>.</para>
      </section>

      <section id="FilterExpression_Directives">
        <title>Direttive</title>

        <para>
Le espressioni di filtro supportano direttive che controllano il modo in cui
viene valutata l'espressione.Le direttive sono specificate all'inizio
dell'espressione, precedute da <literal>@</literal> e separate
dall'espressione da spazi bianchi.</para>

        <section id="FilterExpression_CaseSensitivity">
          <title>Direttive sulla distinzione tra maiuscole e minuscole</title>

          <para>
Per impostazione predefinita, tutti gli operatori di confronto di stringhe
(<literal>=</literal>, <literal>!=</literal>, <literal>&lt;</literal>,
<literal>&lt;=</literal>, <literal>&gt;</literal>, <literal>&gt;=</literal>,
<literal>contains</literal>, <literal>recontains</literal>,
<literal>like</literal>,<literal>corrispondenze</literal>) non fanno
distinzione tra maiuscole e minuscole.Puoi controllare questo comportamento
utilizzando le seguenti direttive:</para>

          <variablelist>
            <varlistentry>
              <term><literal>@cs</literal>, <literal>@casesensitive</literal></term>
              <listitem>
                <para>
Abilita il confronto con distinzione tra maiuscole e minuscole.Con queste
direttive, <literal>"ABC"</literal> e <literal>"abc"</literal> sono
considerati diversi.</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><literal>@ci</literal>, <literal>@caseinsensitive</literal></term>
              <listitem>
                <para>
Abilita il confronto senza distinzione tra maiuscole e minuscole
(comportamento predefinito).Con queste direttive, <literal>"ABC"</literal> e
<literal>"abc"</literal> sono considerati identici.</para>
              </listitem>
            </varlistentry>
          </variablelist>

          <example>
            <title>Esempi di distinzione tra maiuscole e minuscole</title>
<programlisting>@cs Name = "README.txt" ## Con distinzione tra maiuscole e minuscole: corrisponde solo a "README.txt"
@ci Name = "readme.txt" ## Senza distinzione tra maiuscole e minuscole: corrisponde a "README.txt", "readme.txt", "ReadMe.TXT", ecc.
@casesensitive Estensione = "TXT" ## Con distinzione tra maiuscole e minuscole: corrisponde solo ai file con estensione ".TXT".
@caseinsensitive Il contenuto contiene "errore" ## Non distingue tra maiuscole e minuscole: corrisponde a "Errore", "ERRORE", "errore", ecc.</programlisting></example>
        </section>

        <section id="FilterExpression_Optimize">
          <title>Direttive di ottimizzazione</title>

          <para>
Per impostazione predefinita, le espressioni di filtro sono ottimizzate per
migliorare le prestazioni.Puoi controllare questo comportamento utilizzando
le seguenti direttive:</para>

          <variablelist>
            <varlistentry>
              <term><literal>@ottimizzare</literal>, <literal>@opt</literal></term>
              <listitem>
                <para>
Abilita l'ottimizzazione dell'espressione del filtro (comportamento
predefinito).Ciò potrebbe migliorare le prestazioni per le espressioni
complesse.</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><literal>@nooptimize</literal>, <literal>@noopt</literal></term>
              <listitem>
                <para>
Disabilita l'ottimizzazione dell'espressione del filtro.Ciò è utile per il
debug o quando l'ottimizzazione provoca risultati imprevisti.</para>
              </listitem>
            </varlistentry>
          </variablelist>

          <example>
            <title>Esempi di ottimizzazione</title>
<programlisting>@ottimizza dimensioni &gt;10 MB ed estensione = "log" ## Abilita ottimizzazione (impostazione predefinita)
@noopt Il nome corrisponde a "complesso[0-9]+modello" ## Disabilita l'ottimizzazione per il debug
@nooptimize Il contenuto contiene "caso speciale" ## Disattiva l'ottimizzazione</programlisting></example>
        </section>

        <section id="FilterExpression_Name">
          <title>Direttiva sui nomi</title>

          <para>
La direttiva <literal>@name</literal> consente di assegnare un nome
descrittivo a un'espressione di filtro.Questo nome è destinato all'uso nei
messaggi di errore e nei log per identificare quale espressione di filtro ha
causato un problema.</para>

          <variablelist>
            <varlistentry>
              <term><literal>@name="Nome filtro"</literal>, <literal>@name=Nome filtro</literal></term>
              <listitem>
                <para>
Assegna un nome all'espressione di filtro.Se il nome contiene spazi o
caratteri speciali, deve essere racchiuso tra virgolette doppie.I nomi senza
spazi possono essere specificati senza virgolette.</para>
                <para>
Il nome specificato verrà utilizzato nei messaggi di errore e nell'output
diagnostico per identificare il filtro.Ciò è particolarmente utile quando si
lavora con più espressioni di filtro complesse.</para>
              </listitem>
            </varlistentry>
          </variablelist>

          <example>
            <title>Esempi di direttive sui nomi</title>
<programlisting>@name="Dimensioni file immagine di grandi dimensioni" &gt;10 MB ed estensione = "png"
@name=Dimensione SmallTextFiles &lt;1KB ed estensione = "txt"
@name="Data modificata oggi" &gt;= oggi()
@name="Test Filter" @cs Nome come "test_*.cpp"</programlisting></example>

          <note>
            <para>
La direttiva <literal>@name</literal> può essere combinata con altre
direttive.Quando vengono utilizzate più direttive, dovrebbero apparire tutte
all'inizio dell'espressione, separate da spazi bianchi.</para>
          </note>
        </section>
      </section>

      <section id="FilterExpression_Attributes">
        <title>Attributi</title>

        <para>
Le espressioni di filtro supportano una varietà di attributi che fanno
riferimento ai metadati e al contenuto dei file.I nomi degli attributi non
fanno distinzione tra maiuscole e minuscole.Facoltativamente, è possibile
specificare a quale lato del confronto (Sinistra, Destra o Centro) si
applica un attributo utilizzando un prefisso.</para>

        <section>
          <title>Attributi fondamentali</title>
          <variablelist>
            <varlistentry>
              <term><varname>Exists</varname></term>
              <listitem><para>Restituisce <literal>true</literal> se il file esiste,
<literal>false</literal> altrimenti</para></listitem>
            </varlistentry>
            <varlistentry>
              <term><varname>Name</varname></term>
              <listitem><para>Nome del file</para></listitem>
            </varlistentry>
            <varlistentry>
              <term><varname>BaseName</varname></term>
              <listitem><para>Restituisce il nome del file senza estensione.Ad esempio, "document.txt"
restituisce "documento".</para></listitem>
            </varlistentry>
            <varlistentry>
              <term><varname>Extension</varname></term>
              <listitem><para>Estensione file</para></listitem>
            </varlistentry>
            <varlistentry>
              <term><varname>IsFolder</varname></term>
              <listitem><para>Restituisce vero se l'elemento è una cartella/cartella, falso se è un file.</para></listitem>
            </varlistentry>
            <varlistentry>
              <term><varname>Folder</varname></term>
              <listitem><para>Restituisce il percorso relativo escludendo il nome del file e la cartella
di base</para></listitem>
            </varlistentry>
            <varlistentry>
              <term><varname>RelPath</varname></term>
              <listitem><para>Restituisce il percorso relativo dalla cartella principale di confronto,
inclusi sia il percorso della cartella che il nome del file. Ad esempio, se
si confronta "C:\Project" e il file si trova in "C:\Project\src\main.cpp",
RelPath restituisce "src\main.cpp".</para></listitem>
            </varlistentry>
            <varlistentry>
              <term><varname>FullPath</varname></term>
              <listitem><para>Restituisce il percorso completo del file</para></listitem>
            </varlistentry>
            <varlistentry>
              <term><varname>Size</varname></term>
              <listitem><para>Dimensioni del file</para></listitem>
            </varlistentry>
            <varlistentry>
              <term><varname>Date</varname></term>
              <listitem><para>Ultima data e ora modificata</para></listitem>
            </varlistentry>
            <varlistentry>
              <term><varname>DateStr</varname></term>
              <listitem><para>Stringa della data dell'ultima modifica nel formato
<literal>aaaa-MM-gg</literal></para></listitem>
            </varlistentry>
            <varlistentry>
              <term><varname>CreationTime</varname></term>
              <listitem><para>Timestamp della data di creazione</para></listitem>
            </varlistentry>
            <varlistentry>
              <term><varname>Attributes</varname></term>
              <listitem><para>Restituisce gli attributi del file come valore intero</para></listitem>
            </varlistentry>
            <varlistentry>
              <term><varname>AttrStr</varname></term>
              <listitem>
                <para>Restituisce la stringa dell'attributo del file.Esempi:
<literal>"R"</literal> per sola lettura, <literal>"H"</literal> per
nascosto, <literal>"A"</literal> per archivio, <literal>"S"</literal> per
file di sistema.</para>
              </listitem>
            </varlistentry>
          </variablelist>
        </section>

        <section>
          <title>Attributi solo file</title>
          <para>
I seguenti attributi sono disponibili solo per gli elementi di confronto
file.Se utilizzato con elementi di cartelle, il comportamento non è
definito.</para>

          <variablelist>
            <varlistentry>
              <term><varname>Content</varname></term>
              <listitem><para>Contenuto del file.Restituisce un valore di tipo FileContent.Con questo tipo
è possibile utilizzare solo <literal>contains</literal> e
<literal>recontains</literal>.</para></listitem>
            </varlistentry>
          </variablelist>
        </section>

        <section>
          <title>Attributi solo cartella</title>
          <para>
I seguenti attributi sono disponibili solo per gli elementi di confronto
delle cartelle.Se utilizzato con elementi file, il comportamento non è
definito.</para>

          <variablelist>
            <varlistentry>
              <term><varname>Files</varname></term>
              <listitem><para>Numero di file direttamente contenuti nella cartella.</para></listitem>
            </varlistentry>
            <varlistentry>
              <term><varname>RecursiveFiles</varname></term>
              <listitem><para>Numero di file contenuti nella cartella, incluse tutte le sottocartelle.</para></listitem>
            </varlistentry>
            <varlistentry>
              <term><varname>Items</varname></term>
              <listitem><para>Numero di elementi (file e sottocartelle) contenuti direttamente nella
cartella.</para></listitem>
            </varlistentry>
            <varlistentry>
              <term><varname>RecursiveItems</varname></term>
              <listitem><para>Numero di elementi (file e sottocartelle) contenuti nella cartella, incluse
tutte le sottocartelle.</para></listitem>
            </varlistentry>
            <varlistentry>
              <term><varname>TotalSize</varname></term>
              <listitem><para>Dimensione totale di tutti i file direttamente contenuti nella cartella, in
byte.</para></listitem>
            </varlistentry>
            <varlistentry>
              <term><varname>RecursiveTotalSize</varname></term>
              <listitem><para>Dimensione totale di tutti i file contenuti nella cartella, incluse tutte le
sottocartelle, in byte.</para></listitem>
            </varlistentry>
          </variablelist>
        </section>

        <section>
          <title>Prefissi specifici del lato</title>
          <para>
È possibile aggiungere prefissi per specificare il lato di confronto:</para>
          <itemizedlist>
            <listitem><para><emphasis>Sinistra</emphasis>: si applica al file sul lato sinistro (ad
esempio, <literal>LeftSize</literal>)</para></listitem>
            <listitem><para><emphasis>Destra</emphasis>: si applica al file sul lato destro (ad esempio,
<literal>RightDate</literal>)</para></listitem>
            <listitem><para><emphasis>Medio</emphasis>: si applica al file centrale nel confronto a 3
vie (ad esempio, <literal>MiddleName</literal>)</para></listitem>
          </itemizedlist>

          <para>
Gli attributi senza prefisso (ad esempio, <literal>Size</literal>)
restituiscono un array di valori da tutti i lati disponibili (Sinistra,
Centro, Destra).</para>
        </section>

        <section>
          <title>Attributi delle proprietà di Windows</title>
          <para>
Questi attributi forniscono l'accesso ai valori del sistema di proprietà di
Windows, come i metadati definiti dallo schema del sistema di proprietà di
Windows (ad esempio, <literal>System.Title</literal>,
<literal>System.FileOwner</literal>,
<literal>System.Image.HorizontalResolution</literal>).</para>

          <variablelist>
            <varlistentry>
              <term><varname>Prop</varname></term>
              <listitem>
                <para>
Restituisce una matrice di valori di proprietà (Sinistra, Centro, Destra)
per il nome della proprietà canonica specificata.Esempio:
<literal>prop("System.Title")</literal></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><varname>LeftProp</varname></term>
              <listitem>
                <para>
Valore della proprietà del file sul lato sinistro.Esempio:
<literal>leftprop("System.FileOwner")</literal></para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><varname>MiddleProp</varname></term>
              <listitem>
                <para>Valore della proprietà del file centrale (nel confronto a 3 vie).</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><varname>RightProp</varname></term>
              <listitem>
                <para>Valore della proprietà del file sul lato destro.</para>
              </listitem>
            </varlistentry>
          </variablelist>
        </section>

        <section>
          <title>Display Filters Only Attributes</title>
          <para>
I seguenti attributi sono progettati per essere usati solo nei filtri
<emphasis role="bold">Display fileters only</emphasis> (specificati tramite
i prefissi <guilabel>e:</guilabel>, <guilabel>e!:</guilabel>,
<guilabel>fe:</guilabel>, <guilabel>fe!:</guilabel>,
<guilabel>de:</guilabel> o <guilabel>de!:</guilabel> in il campo
Filtro). Non devono essere usati nelle regole di inclusione/esclusione del
filtro file (<nomefile>.flt</nomefile>), poiché richiedono che il confronto
venga prima completato e potrebbero causare comportamenti imprevisti.</para>

          <variablelist>
            <varlistentry>
              <term><varname>Identical</varname></term>
              <listitem>
                <para>
Restituisce <literal>true</literal> se il risultato del confronto indica che
gli elementi sono identici, <literal>false</literal> se non sono
identici. Questo è un attributo globale (non supporta prefissi specifici del
lato).  Esempio: <literal>Identical</literal> visualizzare solo file
identici.</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><varname>Different</varname></term>
              <listitem>
                <para>
Restituisce <literal>true</literal> se il risultato del confronto indica che
gli elementi sono diversi, <literal>false</literal>se non sono
diversi. Questo è un attributo globale (non supporta prefissi specifici del
lato). Esempio: <literal>Different</literal> per visualizzare solo file
diversi.</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><varname>Skipped</varname></term>
              <listitem>
                <para>
Restituisce <literal>true</literal> se il confronto è stato saltato a causa
di un errore o di una regola di filtro, <literal>false</literal> se non è
stato saltato. Questo è un attributo globale (non supporta prefissi
specifici del lato).  Esempio: <literal>Skipped</literal> per visualizzare
solo gli elementi saltati.</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><varname>Binary</varname></term>
              <listitem>
                <para>
Restituisce <literal>true</literal> se il file viene rilevato come binario,
<literal>false</literal> se è testo o <literal>unfine</literal> se il file
non esiste. Questo attributo supporta prefissi specifici del lato (ad
esempio, <literal>LeftBinary</literal>,
<literal>RightBinary</literal>). Esempio: <literal>allof(Binary)</literal>
per visualizzare i file binari su tutti i lati.</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><varname>DifferentLeftMiddle</varname></term>
              <listitem>
                <para>
Restituisce <literal>true</literal> se in un confronto a 3 vie i file di
sinistra e centrale sono diversi, <literal>false</literal> se non sono
diversi. Nei confronti a due vie restituisce
<literal>undefined</literal>. Questo è un attributo globale (non supporta
prefissi specifici del lato). Esempio: <literal>DifferentLeftMiddle e non
DifferentMiddleRight</literal> per trovare file in cui solo la sinistra
differisce da quello al centro.</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><varname>DifferentMiddleRight</varname></term>
              <listitem>
                <para>
Restituisce <literal>true</literal> se in un confronto a 3 vie i file
centrale e destro sono diversi, <literal>false</literal> o se non sono
diversi. Nei confronti a due vie restituisce
<literal>undefined</literal>. Questo è un attributo globale (non supporta
prefissi specifici del lato). Esempio:
<literal>DifferentMiddleRight</literal> per visualizzare i file in cui
iquello centrale e quello a destra sono diversi.</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><varname>DifferentLeftRight</varname></term>
              <listitem>
                <para>
Nei confronti a 3 vie restituisce <literal>true</literal> se i file sinistro
e destro sono diversi, <literal>false</literal> se non sono diversi. Nei
confronti a due vie restituisce <literal>true</literal> se entrambi i file
esistono e sono diversi. Questo è un attributo globale (non supporta
prefissi specifici del lato).  Esempio:
<literal>DifferentLeftRight</literal> per visualizzare i file in cui la
sinistra e la destra differiscono.</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><varname>Differences</varname></term>
              <listitem>
                <para>
Restituisce il numero di differenze di testo nel confronto dei file. Questo
attributo è significativo solo per i file di testo che sono stati
confrontati. Questo è un attributo globale (non supporta prefissi specifici
del lato). Esempio: <literal>Differences > 0</literal> per visualizzare file
con differenze, o <literal>Differences > 10</literal> per visualizzare file
con più di 10 differenze.</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><varname>IgnoredDiffs</varname></term>
              <listitem>
                <para>
Restituisce il numero di differenze ignorate nel confronto dei file
(differenze filtrate dai filtri di linea o dalle impostazioni degli spazi
bianchi). Questo attributo è significativo solo per i file di testo che sono
stati confrontati. Questo è un attributo globale (non supporta prefissi
specifici del lato). Esempio: <literal>IgnoredDiffs > 0</literal> per
visualizzare file con differenze ignorate, o <literal>Differences = 0 e
IgnoredDiffs > 0</literal> per visualizzare file identici tranne che per le
differenze ignorate.</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><varname>Unpacker</varname></term>
              <listitem>
                <para>
Restituisce il nome del plugin di decompressione usato per il confronto dei
file o una stringa vuota se non è stato usato alcun programma di
decompressione. Questo è un attributo globale (non supporta prefissi
specifici del lato). Esempio: <literal>Unpacker =
"CompareMSExcelFiles"</literal> per visualizzare i file confrontati usando
il decompressore di Excel o <literal>Unpacker != ""</literal> per
visualizzare tutti i file in cui è stato usato un decompressore.</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><varname>Prediffer</varname></term>
              <listitem>
                <para>
Restituisce il nome del plugin prediffer usato per il confronto dei file o
una stringa vuota se non è stato utilizzato alcun prediffer. Questo è un
attributo globale (non supporta prefissi specifici del lato). Esempio:
<literal>Prediffer = "IgnoreColumns"</literal> per visualizzare i file
confrontati usando il prediffer IgnoreColumns, o <literal>Prediffer !=
""</literal> per visualizzare tutti i file in cui è stato usato prediffer.</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><varname>Codepage</varname></term>
              <listitem>
                <para>
Restituisce la pagina codici del file (codifica dei caratteri) come valore
intero. Questo attributo supporta prefissi specifici del lato (ad esempio,
<literal>LeftCodepage</literal>, <literal>RightCodepage</literal>). Esempio:
<literal>Codepage = 65001</literal> per visualizzare file UTF-8 o
<literal>allof(Codepage = 65001)</literal> per visualizzare file UTF-8 in
tutti i lati.</para>
              </listitem>
            </varlistentry>

            <varlistentry>
              <term><varname>HasBOM</varname></term>
              <listitem>
                <para>
Restituisce <literal>true</literal> se il file ha un Byte Order Mark (BOM),
<literal>false</literal> altrimenti. Questo attributo supporta prefissi
specifici del lato (ad esempio, <literal>LeftHasBOM</literal>,
<literal>RightHasBOM</literal>). Esempio: <literal>HasBOM</literal> per
visualizzare file con BOM, o <literal>not HasBOM</literal> per visualizzare
file senza BOM.</para>
              </listitem>
            </varlistentry>

          </variablelist>
        </section>

        <section id="FilterExpression_ArrayEvaluation">
          <title>Valutazione della matrice</title>

          <para>
Gli attributi senza prefisso laterale (ad esempio, <literal>Size</literal>)
restituiscono un array di valori da tutti i lati disponibili (Sinistra,
Centro, Destra).Quando si applica un operatore a tali array, il
comportamento varia a seconda che il confronto avvenga con un array scalare
o con un altro.</para>

          <section id="FilterExpression_ArrayVsScalar">
            <title>Array vs scalare</title>
            <para>
Quando si confronta un array con uno scalare, l'operazione viene applicata
individualmente a ciascun elemento dell'array.Ciò si traduce in un array
booleano.Se qualsiasi elemento in questo array booleano è
<literal>true</literal>, l'espressione complessiva restituisce
<literal>true</literal>.Altrimenti, restituisce <literal>false</literal>.</para>
            <example>
              <title>Esempio</title>
<programlisting>[3, 5, 8] &gt;6 -> [falso, falso, vero] -> vero</programlisting></example>
          </section>

          <section id="FilterExpression_ArrayVsArray">
            <title>Array contro array</title>
            <para>
Quando si confrontano due array, il comportamento dipende dall'operatore:</para>
            <itemizedlist>
              <listitem>
                <para>
Per <literal>=</literal> e <literal>!=</literal>: gli array devono avere la
stessa lunghezza.Il risultato è un singolo valore booleano, non un
array.<literal>=</literal> restituisce <literal>true</literal> solo se tutti
gli elementi sono uguali.<literal>!=</literal> restituisce
<literal>true</literal> se qualche elemento è diverso.</para>
              </listitem>
              <listitem>
                <para>
Per tutti gli altri operatori (ad esempio, <literal>&gt;</literal>,
<literal>&lt;</literal>): l'operazione viene applicata per elemento,
producendo un array booleano.Il risultato finale dell'espressione è
<literal>true</literal> se qualsiasi elemento nell'array booleano è
<literal>true</literal> e <literal>false</literal> se tutti gli elementi
sono <literal>false</literal>.</para>
              </listitem>
            </itemizedlist>

            <example>
              <title>Esempi</title>
<programlisting>[2, 4] = [2, 4] -> vero</programlisting> <programlisting>[2, 4] != [2, 5] -> vero (perché 4 != 5)</programlisting> <programlisting>[3, 5, 8] &gt;[6, 4, 2]
-> [falso, vero, vero]
-> vero (perché almeno un confronto è vero)
              </programlisting></example>
          </section>

          <section id="FilterExpression_ArraySummary">
            <title>Riepilogo</title>
            <itemizedlist>
              <listitem>
                <para>
I confronti tra array e scalari producono un array booleano.Il risultato
complessivo dell'espressione è <literal>true</literal> se almeno un elemento
è <literal>true</literal>.</para>
              </listitem>
              <listitem>
                <para>
Array vs array con <literal>=</literal> o <literal>!=</literal> restituisce
un singolo valore booleano.</para>
              </listitem>
              <listitem>
                <para>
Array vs array con altri operatori produce un array booleano.Il risultato
finale è <literal>true</literal> se qualsiasi elemento è
<literal>true</literal>.</para>
              </listitem>
            </itemizedlist>
          </section>
        </section>
      </section>

      <section id="FilterExpression_Operators">
        <title>Operatori</title>

        <para>
Per impostazione predefinita, tutti gli operatori di confronto di stringhe
(come <literal>=</literal>, <literal>!=</literal>, <literal>&lt;</literal>,
<literal>&lt;=</literal>, <literal>&gt;</literal>, <literal>&gt;=</literal>,
<literal>like</literal>, <literal>match</literal>,
<literal>contains</literal> e<literal>recontains</literal>) non fanno
distinzione tra maiuscole e minuscole.Puoi controllare questo comportamento
utilizzando le direttive (vedi <xref
linkend="FilterExpression_CaseSensitivity" />).</para>

        <variablelist>
          <varlistentry>
            <term><literal>&lt;</literal>, <literal>&lt;=</literal>, <literal>&gt;</literal>,
<literal>&gt;=</literal></term>
            <listitem><para>Confronto numerico, timestamp o stringa</para></listitem>
          </varlistentry>
          <varlistentry>
            <term><literal>=</literal></term>
            <listitem><para>Confronto sull'uguaglianza</para></listitem>
          </varlistentry>
          <varlistentry>
            <term><literal>!=</literal></term>
            <listitem><para>Confronto delle disuguaglianze</para></listitem>
          </varlistentry>
          <varlistentry>
            <term><literal>+</literal>, <literal>-</literal>, <literal>*</literal>,
<literal>/</literal>, <literal>%</literal></term>
            <listitem>
              <para>
Operatori aritmetici.<literal>+</literal> e <literal>-</literal> eseguono
addizioni e sottrazioni.<literal>*</literal> e <literal>/</literal> eseguono
moltiplicazioni e divisioni.<literal>%</literal> è l'operatore modulo
(resto).</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><literal>e</literal>, <literal>o</literal>, <literal>non</literal></term>
            <listitem><para>Operatori logici</para></listitem>
          </varlistentry>
          <varlistentry>
            <term><literal>mi piace</literal></term>
            <listitem>
              <para>Corrispondenza di stringhe di caratteri jolly</para>
              <para>Puoi anche usare <literal>not like</literal> per eseguire la corrispondenza
inversa.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><literal>corrisponde</literal></term>
            <listitem>
              <para>Corrisponde alle espressioni regolari</para>
              <para>Puoi anche usare <literal>notmatch</literal> per eseguire la corrispondenza
inversa.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><literal>contiene</literal></term>
            <listitem>
              <para>Controlla se una stringa contiene una sottostringa</para>
              <para>Puoi anche usare <literal>not contiene</literal> per verificare l'assenza
della sottostringa.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><literal>contiene</literal></term>
            <listitem>
              <para>Controlla se qualche sottostringa corrisponde a un'espressione regolare</para>
              <para>Puoi anche usare <literal>not recontains</literal> per assicurarti che non
esista alcuna corrispondenza.</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </section>

      <section id="FilterExpression_Functions">
        <title>Funzioni</title>

        <variablelist>
          <varlistentry>
            <term><function>lineCount</function>(<replaceable>contenuto</replaceable>)</term>
            <listitem><para>Restituisce il numero di righe nel contenuto del file o nell'array del
contenuto del file come <literal>Intero</literal>.Se
<replaceable>content</replaceable> è un array, il risultato è un array di
numeri interi.Esempio: <literal>lineCount(Content)</literal></para></listitem>
          </varlistentry>
          <varlistentry>
            <term><function>sublines</function>(<replaceable>contenuto</replaceable>,
<replaceable>inizio</replaceable>, <replaceable>conteggio</replaceable>)</term>
            <listitem>
              <para>
Estrae il numero specificato di righe a partire dall'indice di riga
specificato nel contenuto del file o nell'array del contenuto del file e li
restituisce come un'unica stringa concatenata.Se
<replaceable>content</replaceable> è un array, il risultato è un array di
stringhe.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><function>strlen</function>(<replaceable>fonte</replaceable>)</term>
            <listitem><para>Restituisce la lunghezza della stringa come <literal>Intero</literal>.Se
<replaceable>source</replaceable> è un array di stringhe, il risultato è un
array di numeri interi.Esempio: <literal>strlen(Nome)</literal></para></listitem>
          </varlistentry>
          <varlistentry>
            <term><function>substr</function>(<replaceable>sorgente</replaceable>,
<replaceable>inizio</replaceable>, <replaceable>conteggio</replaceable>)</term>
            <listitem><para>Restituisce un intervallo specifico di testo dalla <emphasis>stringa o
dall'array di stringhe</emphasis> come <literal>Stringa</literal>.Se
<replaceable>source</replaceable> è un array di stringhe, il risultato è un
array di stringhe.Esempio: <literal>substr(Nome, 0, 3)</literal></para></listitem>
          </varlistentry>
          <varlistentry>
            <term><function>replace</function> (da, a, in)</term>
            <listitem>
              <para>
Sostituisce tutte le occorrenze della stringa
<replaceable>from</replaceable> con <replaceable>to</replaceable>.Se
<replaceable>str</replaceable> è un array, il risultato è un array di
stringhe a cui sono applicate le sostituzioni.Esempio:
<literal>sostituisci(nome, ".bak", ".txt")</literal></para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><function>regexReplace</function>(str, modello, sostituzione)</term>
            <listitem>
              <para>
Sostituisce tutte le corrispondenze del modello di espressione regolare con
la stringa sostitutiva.Supporta i riferimenti all'indietro ($1, $2, ecc.)
nella stringa di sostituzione.Se <replaceable>str</replaceable> è un array,
il risultato è un array di stringhe a cui sono applicate le
sostituzioni.Esempio: <literal>regexReplace(name, "^(\\w+)_(\\w+)$",
"$2_$1")</literal> scambia le parole separate da un carattere di
sottolineatura.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><function>replaceWithList</function>(str, percorsofile)</term>
            <listitem>
              <para>
Sostituisce più stringhe in <replaceable>str</replaceable> utilizzando le
regole di sostituzione caricate da un file separato da tabulazioni.Il
formato del file è una regola di sostituzione per riga:
<literal>search_string&lt;TAB&gt;replacement_string</literal>.Le righe che
iniziano con <literal>#</literal> vengono trattate come commenti e
ignorate.Anche le righe vuote vengono ignorate.Se
<replaceable>str</replaceable> è un array, il risultato è un array di
stringhe a cui sono applicate le sostituzioni.</para>
              <para>Esempio di formato file:</para>
              <screen># Riga di commento
mela arancia
cane gatto
vecchio nuovo</screen>
              <para>Esempi:</para>
              <itemizedlist>
                <listitem><para><literal>replaceWithList(Name, "C:\Filters\replacements.txt")</literal> -
applica le sostituzioni dal file al nome del file</para></listitem>
              </itemizedlist>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><function>regexReplaceWithList</function>(str, percorsofile)</term>
            <listitem>
              <para>
Sostituisce le stringhe in <replaceable>str</replaceable> utilizzando
modelli di espressioni regolari caricati da un file separato da
tabulazioni.Il formato del file è un modello per riga:
<literal>regex_pattern&lt;TAB&gt;replacement_string</literal>.La stringa di
sostituzione può includere riferimenti all'indietro ($1, $2 e così via) ai
gruppi acquisiti.Le righe che iniziano con <literal>#</literal> vengono
trattate come commenti e ignorate.Anche le righe vuote vengono ignorate.Se
<replaceable>str</replaceable> è un array, il risultato è un array di
stringhe a cui sono applicate le sostituzioni.</para>
              <para>Esempio di formato file:</para>
              <screen># Riga di commento
\d+ NUMERO
(\d{4})-(\d{2})-(\d{2}) $1_$2_$3</screen>
              <para>Esempi:</para>
              <itemizedlist>
                <listitem><para><literal>regexReplaceWithList(Name,
"C:\Filters\regex_replacements.txt")</literal> - applica sostituzioni regex
al nome del file</para></listitem>
              </itemizedlist>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><function>normalizeUnicode</function>(str[, modulo])</term>
            <listitem>
              <para>
Normalizza la stringa Unicode.Il parametro facoltativo del modulo specifica
il modulo di normalizzazione: "NFC" o "C" (predefinito), "NFD" o "D", "NFKC"
o "KC", "NFKD" o "KD".È possibile utilizzare anche forme numeriche: 1=NFC,
2=NFD, 5=NFKC, 6=NFKD.Se <replaceable>str</replaceable> è un array, il
risultato è un array di stringhe normalizzate.Esempio:
<literal>normalizeUnicode(name, "NFC")</literal></para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
<function>toLower</function>(<replaceable>str</replaceable>)</term>
            <listitem>
              <para>
Converte tutti i caratteri della stringa in minuscolo.Se
<replaceable>str</replaceable> è un array, il risultato è un array di
stringhe minuscole.Esempio: <literal>toLower("Hello World")</literal>
restituisce <literal>"hello world"</literal></para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
<function>toUpper</function>(<replaceable>str</replaceable>)</term>
            <listitem>
              <para>
Converte tutti i caratteri della stringa in maiuscolo.Se
<replaceable>str</replaceable> è un array, il risultato è un array di
stringhe maiuscole.Esempio: <literal>toUpper("Hello World")</literal>
restituisce <literal>"HELLO WORLD"</literal></para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
<function>toHalfWidth</function>(<replaceable>str</replaceable>)</term>
            <listitem>
              <para>
Converte i caratteri a larghezza intera in caratteri a metà
larghezza.Utilizzato principalmente per convertire caratteri alfanumerici e
katakana a larghezza intera in caratteri a metà larghezza.Se
<replaceable>str</replaceable> è un array, il risultato è un array di
stringhe convertite.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
<function>toFullWidth</function>(<replaceable>str</replaceable>)</term>
            <listitem>
              <para>
Converte i caratteri a mezza larghezza in caratteri a larghezza
intera.Utilizzato principalmente per convertire caratteri alfanumerici e
katakana da metà larghezza a larghezza intera.Se
<replaceable>str</replaceable> è un array, il risultato è un array di
stringhe convertite.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
<function>toKatakana</function>(<replaceable>str</replaceable>)</term>
            <listitem>
              <para>
Converte i caratteri hiragana in katakana.I caratteri non hiragana rimangono
invariati.Se <replaceable>str</replaceable> è un array, il risultato è un
array di stringhe convertite.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
<function>toHiragana</function>(<replaceable>str</replaceable>)</term>
            <listitem>
              <para>
Converte i caratteri katakana in hiragana.I caratteri non katakana rimangono
invariati.Se <replaceable>str</replaceable> è un array, il risultato è un
array di stringhe convertite.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
<function>toSimplifiedChinese</function>(<replaceable>str</replaceable>)</term>
            <listitem>
              <para>
Converte i caratteri cinesi tradizionali in caratteri cinesi semplificati.I
caratteri che non hanno una forma semplificata rimangono invariati.Se
<replaceable>str</replaceable> è un array, il risultato è un array di
stringhe convertite.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>
<function>toTraditionalChinese</function>(<replaceable>str</replaceable>)</term>
            <listitem>
              <para>
Converte i caratteri cinesi semplificati in caratteri cinesi tradizionali.I
personaggi che non hanno una forma tradizionale rimangono invariati.Se
<replaceable>str</replaceable> è un array, il risultato è un array di
stringhe convertite.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><function>now</function></term>
            <listitem><para>Restituisce la data e l'ora correnti come valore
<literal>Timestamp</literal>.</para></listitem>
          </varlistentry>
          <varlistentry>
            <term><function>today</function></term>
            <listitem><para>Restituisce la data odierna come valore <literal>Timestamp</literal> che
rappresenta <literal>00:00:00.000</literal> all'inizio della giornata.</para></listitem>
          </varlistentry>
          <varlistentry>
            <term><function>startOfWeek</function>(<replaceable>timestamp</replaceable>)</term>
            <listitem><para>Restituisce il primo giorno della settimana, che è sempre domenica,
indipendentemente dalle impostazioni locali.</para></listitem>
          </varlistentry>
          <varlistentry>
            <term><function>startOfMonth</function>(<replaceable>timestamp</replaceable>)</term>
            <listitem><para>Restituisce il primo giorno del mese.</para></listitem>
          </varlistentry>
          <varlistentry>
            <term><function>startOfYear</function>(<replaceable>timestamp</replaceable>)</term>
            <listitem><para>Restituisce il primo giorno dell'anno.</para></listitem>
          </varlistentry>
          <varlistentry>
            <term><function>toDateStr</function>(<replaceable>timestamp</replaceable>)</term>
            <listitem><para>Converte il timestamp specificato in una stringa di data nel formato
<literal>aaaa-MM-gg</literal>.Se <replaceable>timestamp</replaceable> è un
array di timestamp, il risultato è un array di stringhe.</para></listitem>
          </varlistentry>
          <varlistentry>
            <term><function>abs</function>(<replaceable>valore</replaceable>)</term>
            <listitem><para>Restituisce il valore assoluto dell'<emphasis>intero o dell'array di
interi</emphasis>.Se <replaceable>value</replaceable> è un array di numeri
interi, il risultato è un array di numeri interi.</para></listitem>
          </varlistentry>
          <varlistentry>
            <term><function>allof</function>(<replaceable>booleani</replaceable>)</term>
            <listitem><para>Restituisce <literal>true</literal> se tutti gli elementi
nell'<emphasis>array booleano</emphasis> soddisfano la condizione.</para></listitem>
          </varlistentry>
          <varlistentry>
            <term><function>allequal</function>(<replaceable>array</replaceable>)</term>
            <listitem><para>Restituisce <literal>true</literal> se tutti i valori nell'array sono
uguali.</para></listitem>
          </varlistentry>
          <varlistentry>
            <term><function>isWithin</function>(<replaceable>valore</replaceable>,
<replaceable>min</replaceable>, <replaceable>max</replaceable>)</term>
            <listitem>
              <para>
Restituisce <literal>true</literal> se <replaceable>valore</replaceable> è
compreso nell'intervallo <literal>[min, max]</literal> (incluso su entrambe
le estremità).Supporta numeri interi, numeri a virgola mobile, timestamp e
stringhe (confronto senza distinzione tra maiuscole e minuscole).Se
<replaceable>value</replaceable> è un array, il risultato è un array
booleano con ogni elemento controllato individualmente.</para>
              <para>Esempi:</para>
              <itemizedlist>
                <listitem><para><literal>isWithin(5, 1, 10)</literal> restituisce <literal>true</literal></para></listitem>
                <listitem><para><literal>isWithin(Size, 1KB, 10MB)</literal> controlla se la dimensione del
file è compresa tra 1KB e 10MB</para></listitem>
                <listitem><para><literal>isWithin(Date, today() - 7days, today())</literal> controlla se il
file è stato modificato nell'ultima settimana</para></listitem>
                <listitem><para><literal>allof(isWithin(Size, 1KB, 10MB))</literal> controlla se tutte le
dimensioni dei file sono comprese tra 1KB e 10MB</para></listitem>
              </itemizedlist>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><function>inRange</function>(<replaceable>valore</replaceable>,
<replaceable>min</replaceable>, <replaceable>max</replaceable>)</term>
            <listitem>
              <para>
Restituisce <literal>true</literal> se <replaceable>value</replaceable> è
compreso nell'intervallo <literal>[min, max)</literal> (incluso nel limite
inferiore, escluso nel limite superiore).Supporta numeri interi, numeri a
virgola mobile, timestamp e stringhe (confronto senza distinzione tra
maiuscole e minuscole).Se <replaceable>value</replaceable> è un array, il
risultato è un array booleano con ogni elemento controllato individualmente.</para>
              <para>Esempi:</para>
              <itemizedlist>
                <listitem><para><literal>inRange(5, 1, 10)</literal> restituisce <literal>true</literal></para></listitem>
                <listitem><para><literal>inRange(10, 1, 10)</literal> restituisce <literal>false</literal></para></listitem>
                <listitem><para><literal>inRange(Size, 0, 1MB)</literal> controlla se la dimensione del file
è inferiore a 1 MB</para></listitem>
                <listitem><para><literal>anyof(inRange(Date, startOfMonth(today()), today()))</literal>
controlla se qualche file è stato modificato questo mese (escluso oggi)</para></listitem>
              </itemizedlist>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><function>logError</function>(<replaceable>valore1</replaceable>,
<replaceable>value2</replaceable>, ...),
logWarn(<replaceable>value1</replaceable>,
<replaceable>value2</replaceable>, ...),
logInfo(<replaceable>value1</replaceable>,
<replaceable>value2</replaceable>, ...)</term>
            <listitem>
              <para>
Restituisce la rappresentazione di stringa concatenata di tutti gli
argomenti nel log (rispettivamente a livello di errore, avviso o
informazione), separati da spazi, e restituisce il valore dell'ultimo
argomento.Queste funzioni sono utili per il debug delle espressioni di
filtro.</para>
              <para>Esempi (utilizzando il valore restituito):</para>
              <itemizedlist>
                <listitem><para><literal>logInfo("File size:", Size) > 1MB</literal> - registra le
dimensioni del file e controlla se maggiore di 1MB</para></listitem>
                <listitem><para><literal>logWarn("Processing:", Name) come "*.tmp"</literal> - registra i
nomi dei file e controlla se si tratta di un file temporaneo</para></listitem>
                <listitem><para><literal>Dimensione > 1KB e logInfo("Large file:", Name) contiene
"test"</literal> - registra solo quando la condizione della dimensione è
vera, quindi controlla il nome</para></listitem>
              </itemizedlist>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><function>if</function>(<replaceable>condizione</replaceable>,
<replaceable>trueValue</replaceable>, <replaceable>falseValue</replaceable>)</term>
            <listitem>
              <para>
Restituisce <replaceable>trueValue</replaceable> se
<replaceable>condizione</replaceable> restituisce true, altrimenti
restituisce <replaceable>falseValue</replaceable>.Questa funzione esegue la
valutazione del cortocircuito (valuta solo il ramo che verrà restituito).</para>
              <para>Esempi:</para>
              <itemizedlist>
                <listitem><para><literal>if(Size > 1MB, "large", "small")</literal> - restituisce "large" o
"small" in base alla dimensione del file</para></listitem>
                <listitem><para><literal>if(Extension = "txt", "text file", "other file")</literal> -
classifica i file per estensione</para></listitem>
                <listitem><para><literal>if(Exists, Size, 0)</literal> - restituisce la dimensione del file
o 0 se il file non esiste</para></listitem>
              </itemizedlist>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><function>ifEach</function>(<replaceable>conditionArray</replaceable>,
<replaceable>trueValue</replaceable>, <replaceable>falseValue</replaceable>)</term>
            <listitem>
              <para>
Selezione condizionale per elemento.Per ogni elemento in
<replaceable>conditionArray</replaceable>, restituisce l'elemento
corrispondente da <replaceable>trueValue</replaceable> se la condizione è
vera, altrimenti restituisce l'elemento corrispondente da
<replaceable>falseValue</replaceable>.Se
<replaceable>trueValue</replaceable> o <replaceable>falseValue</replaceable>
è uno scalare, viene trasmesso a tutti gli elementi.</para>
              <para>Esempi:</para>
              <itemizedlist>
                <listitem><para><literal>ifEach(Size &gt; 1MB, "large", "small")</literal> - restituisce un
array di etichette "grande"/"piccolo" per ogni file</para></listitem>
                <listitem><para><literal>ifEach(array(true, false, true), array("a", "b", "c"), array("x",
"y", "z"))</literal> - restituisce <literal>array("a", "y", "c")</literal></para></listitem>
                <listitem><para><literal>anyof(ifEach(Size &gt; 100KB, Size &lt; 10MB, false))</literal> -
controlla se qualche file è compreso tra 100KB e 10MB</para></listitem>
              </itemizedlist>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><function>choose</function>(<replaceable>indice</replaceable>,
<replaceable>valore0</replaceable>, <replaceable>valore1</replaceable>, ...)</term>
            <listitem>
              <para>
Seleziona un valore dagli argomenti in base a
<replaceable>index</replaceable>.Se <replaceable>index</replaceable> è 0,
restituisce <replaceable>value0</replaceable>;se 1, restituisce
<replaceable>value1</replaceable>, ecc. Gli indici negativi sono limitati a
0. Gli indici oltre l'ultimo valore restituiscono l'ultimo valore.</para>
              <para>Esempi:</para>
              <itemizedlist>
                <listitem><para><literal>scegli(0, "primo", "secondo", "terzo")</literal> - restituisce
"primo"</para></listitem>
                <listitem><para><literal>choose(DiffCode % 3, "equal", "different", "unique")</literal> -
mappa i codici diff sulle etichette</para></listitem>
                <listitem><para><literal>scegli(5, "a", "b", "c")</literal> - restituisce "c" (fuori dai
limiti, restituisce l'ultimo valore)</para></listitem>
              </itemizedlist>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><function>chooseEach</function>(<replaceable>indexArray</replaceable>,
<replaceable>value0</replaceable>, <replaceable>value1</replaceable>, ...)</term>
            <listitem>
              <para>
Selezione del valore in base agli elementi.Per ogni indice in
<replaceable>indexArray</replaceable>, seleziona il valore corrispondente
dagli argomenti rimanenti.Se <replaceable>indexArray</replaceable> è uno
scalare, si comporta come <literal>choose</literal>.</para>
              <para>Esempi:</para>
              <itemizedlist>
                <listitem><para><literal>chooseEach(array(0, 1, 2), "a", "b", "c")</literal> - restituisce
<literal>array("a", "b", "c")</literal></para></listitem>
                <listitem><para><literal>chooseEach(array(0, 0, 1), "x", "y")</literal> - restituisce
<literal>array("x", "x", "y")</literal></para></listitem>
                <listitem><para><literal>chooseEach(array(2, 0, 1), "primo", "secondo", "terzo")</literal> -
restituisce <literal>array("terzo", "primo", "secondo")</literal></para></listitem>
              </itemizedlist>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term><function>andEach</function>(<replaceable>valore1</replaceable>,
<replaceable>valore2</replaceable>),
orEach(<replaceable>valore1</replaceable>,
<replaceable>valore2</replaceable>),
notEach(<replaceable>valore</replaceable>)</term>
            <listitem>
              <para>
Operazioni logiche per elementi.Queste funzioni operano su booleani, array
booleani o una combinazione di entrambi:</para>
              <itemizedlist>
                <listitem><para><literal>andEach</literal> - Operazione logica AND</para></listitem>
                <listitem><para><literal>orEach</literal> - Operazione logica OR</para></listitem>
                <listitem><para><literal>notEach</literal> - Operazione logica NOT (argomento singolo)</para></listitem>
              </itemizedlist>
              <para>
Quando gli argomenti sono scalari, restituisce un risultato booleano
scalare.Quando un argomento è un array e l'altro è uno scalare, lo scalare
viene trasmesso a tutti gli elementi.Quando entrambi gli argomenti sono
array, esegue l'operazione a livello di elemento.</para>
              <para>Esempi:</para>
              <itemizedlist>
                <listitem><para><literal>andEach(Size &gt; 1KB, Size &lt; 1MB)</literal> - file tra 1KB e
1MB</para></listitem>
                <listitem><para><literal>orEach(Extension = "txt", Extension = "log")</literal> - file txt o
di registro</para></listitem>
                <listitem><para><literal>notEach(Exists)</literal> - file che non esistono</para></listitem>
                <listitem><para><literal>allof(andEach(Exists, Size &gt; 0))</literal> - tutti i file
esistono con dimensione diversa da zero</para></listitem>
                <listitem><para><literal>anyof(notEach(Size &gt; 1MB))</literal> - qualsiasi file di 1 MB o
inferiore</para></listitem>
              </itemizedlist>
            </listitem>
          </varlistentry>
        </variablelist>
      </section>

      <section id="FilterExpression_Units">
        <title>Unità</title>
        <para>Le dimensioni dei file supportano questi suffissi:</para>
        <simplelist type="inline">
          <member>KB</member>
          <member>MB</member>
          <member>GB</member>
          <member>TBC</member>
        </simplelist>
        <para>Le durate temporali supportano questi suffissi:</para>
        <simplelist type="inline">
          <member>settimane</member><member>settimana</member><member>w</member>
          <member>giorni</member><member>giorno</member><member>D</member>
          <member>ore</member><member>ora</member><member>ora</member><member>H</member>
          <member>minuti</member><member>minuto</member><member>min</member><member>M</member>
          <member>secondi</member><member>secondo</member><member>sez</member><member>S</member>
          <member>millisecondi</member><member>millisecondo</member><member>ms</member><member>ms</member>
        </simplelist>
      </section>

      <section id="FilterExpression_Examples">
        <title>Esempi</title>
        <itemizedlist>
          <listitem><para><literal>Dimensione &lt;10KB</literal>: la dimensione di qualsiasi lato è
inferiore a 10KB</para></listitem>
          <listitem><para><literal>LeftSize &gt;= 10MB</literal> - Il file del lato sinistro è di
almeno 10MB</para></listitem>
          <listitem><para><literal>allof(Size &lt; 1MB)</literal> - Tutti i lati sono inferiori a 1 MB</para></listitem>
          <listitem><para><literal>abs(LeftSize - RightSize) &lt;1KB</literal> - La differenza di
dimensioni è piccola</para></listitem>
          <listitem><para><literal>DateStr = "2025-07-20"</literal> - Il file è stato modificato
l'ultima volta in quella data</para></listitem>
          <listitem><para><literal>Data &gt;= today()</literal> - Modificato oggi o successivamente</para></listitem>
          <listitem><para><literal>is Within(Date, today() - 7 days, today())</literal> - File
modificato nell'ultima settimana</para></listitem>
          <listitem><para><literal>inRange(Size, 1KB, 10MB)</literal>: la dimensione del file è
compresa tra 1 KB (incluso) e 10 MB (escluso)</para></listitem>
          <listitem><para><literal>allof(isWithin(Size, 100KB, 1MB))</literal> - Tutte le dimensioni
dei file sono comprese tra 100KB e 1MB</para></listitem>
          <listitem><para><literal>AttrStr contiene "R"</literal> - Il file è di sola lettura</para></listitem>
          <listitem><para><literal>Il nome corrisponde a "file[0-9]\.txt"</literal> - Regex sul nome
file</para></listitem>
          <listitem><para><literal>Il contenuto contiene "Test"</literal> - Il contenuto del file
include la parola chiave</para></listitem>
          <listitem><para><literal>sublines(Content, 0, 1) contiene "XML"</literal> - La prima riga
contiene "XML"</para></listitem>
          <listitem><para><literal>(Estensione = "log" e dimensione > 10 MB) o (Data &lt; oggi() - 7
giorni)</literal> - File di registro di grandi dimensioni o file più vecchi
di una settimana</para></listitem>
          <listitem><para><literal>AttrStr non contiene "H" e nome come "*.tmp"</literal> - File
temporanei non nascosti</para></listitem>
          <listitem><para><literal>isWithin(Extension, "a", "m") e inRange(Size, 0, 1MB)</literal> -
File con estensioni da 'a' a 'm' e dimensioni inferiori a 1 MB</para></listitem>
          <listitem><para><literal>toLower(Name) = "readme.txt"</literal> - Corrispondenza del nome
file senza distinzione tra maiuscole e minuscole</para></listitem>
          <listitem><para><literal>toHalfWidth(Name) come "*.txt"</literal> - Corrisponde dopo la
conversione da larghezza intera a mezza larghezza</para></listitem>
          <listitem><para><literal>Different</literal>: visualizza solo file/cartelle differenti (solo
filtro di visualizzazione)</para></listitem>
          <listitem><para><literal>Identical</literal>: visualizza solo file/cartelle identici (solo
filtro di visualizzazione)</para></listitem>
          <listitem><para><literal>allof(Binary)</literal> - Visualizza solo i file binari su tutti i
lati (solo filtro di visualizzazione)</para></listitem>
          <listitem><para><literal>DifferentLeftMiddle and not DifferentMiddleRight</literal> - Nel
confronto a 3 vie visualizza i file in cui differisce solo la coppia
sinistra-centrale (solo filtro di visualizzazione)</para></listitem>
        </itemizedlist>
      </section>
    </section>
  </section>

  <section id="Filters_FileFilter">
    <title>Utilizzo dei filtri file<indexterm>
        <primary>filtri</primary>

        <secondary>filtri di file</secondary>
      </indexterm><indexterm>
        <primary>filtri</primary>

        <secondary>nei confronti delle cartelle</secondary>
      </indexterm></title>

    <para>I <glossterm>filtri file</glossterm> sono file di testo con estensione
<filename>flt</filename>.Consentono di applicare più regole di filtro a un
confronto di cartelle.A differenza delle maschere di file, i filtri di file
possono includere o escludere corrispondenze.</para>

    <para><indexterm>
        <primary>filtri di file</primary>

        <secondary>modello</secondary>
      </indexterm>WinMerge installa una serie di filtri
di file predefiniti.Se questi filtri di file non forniscono il filtraggio
necessario, puoi crearne uno tuo.Per semplificare questo compito, WinMerge
fornisce anche un file modello denominato
<filename>FileFilter.tmpl</filename>.Questa sezione descrive come applicare
i filtri di file ai confronti e documenta la sintassi del filtro di
file.<xref linkend="Filters_dlg" /> descrive come aggiungere, modificare e
gestire i filtri.</para>

    <section id="Filters_FileFilterLoc">
      <title>Posizioni filtro file<indexterm>
          <primary>Filtra le cartelle</primary>

          <secondary>posizioni</secondary>
        </indexterm><indexterm>
          <primary>filtri di file</primary>

          <secondary>posizioni</secondary>
        </indexterm></title>

      <para>WinMerge rileva automaticamente i filtri dei file in queste posizioni:</para>

      <variablelist>
        <varlistentry>
          <term>Sottocartella Filtri nella cartella di installazione di WinMerge</term>

          <listitem>
            <para>Qui è dove vengono installati i filtri di file predefiniti.Ad esempio,
<filename>C:\Programmi\WinMerge\Filters</filename>.Puoi creare o copiare
file di filtro in questa posizione per renderli disponibili a tutti gli
utenti del tuo sistema.</para>

            <para>Prima di creare un nuovo filtro file, verifica se quelli predefiniti
contengono già ciò che ti serve.In caso contrario, potresti trovare utili
esempi di regole nei file esistenti.</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>Cartella di filtro privata predefinita</term>

          <listitem>
            <para>La posizione di questa cartella è definita nella pagina Sistema delle
opzioni WinMerge.Per impostazione predefinita, è specificata come
sottocartella nella cartella del profilo utente (ad esempio,
<filename>Documents</filename> in Windows 10).I filtri creati o copiati qui
sono normalmente visibili solo a te.Se crei nuovi filtri di file, puoi
copiarli qui per mantenerli privati.</para>
          </listitem>
        </varlistentry>
      </variablelist>

      <para>Prima di poter applicare i filtri di file esistenti in qualsiasi altra
cartella, devi prima installarli.</para>
    </section>

    <section id="Filters_FileFilterApply">
      <title>Applicazione dei filtri ai file<indexterm>
          <primary>filtri di file</primary>

          <secondary>applicando</secondary>
        </indexterm></title>

      <para>Puoi applicare un filtro file utilizzando uno di questi metodi:</para>

      <itemizedlist>
        <listitem>
          <para>Quando avvii un confronto di cartelle dalla finestra di dialogo Seleziona
file o cartelle:</para>

          <orderedlist>
            <listitem>
              <para>Dopo aver scelto le cartelle <guilabel >1a</guilabel > e <guilabel
>2a</guilabel >, fai clic su <guibutton >Seleziona</guibutton > accanto al
campo <guilabel >Filtro</guilabel >.</para>
            </listitem>

            <listitem>
              <para>Nella finestra di dialogo Filtri, usa la scheda Filtri di file per scegliere
un filtro di file e caricarlo nel campo <guilabel >Filtro</guilabel >.</para>

              <note>
                <para>Se un filtro file è attualmente abilitato, il filtro file selezionato è già
caricato nel campo <guilabel >Filtro</guilabel >.</para>
              </note>
              <para></para>
            </listitem>

            <listitem>
              <para>Procedere con l'operazione di confronto.Il file nel campo <guilabel
>Filtro</guilabel > viene applicato quando avvii l'operazione.</para>
            </listitem>
          </orderedlist>
        </listitem>

        <listitem>
          <para>Per modificare il filtro dei file dopo aver già avviato un'operazione di
confronto delle cartelle (ad esempio, applicando un filtro diverso o
disabilitando il filtro):</para>

          <orderedlist>
            <listitem>
              <para>Fai clic su <menuchoice> <guimenu >Strumenti</guimenu> <guimenuitem
>Filtri</guimenuitem > </menuchoice >.</para>
            </listitem>

            <listitem>
              <para>Nella finestra di dialogo Filtri, configura la nuova impostazione del filtro
file e fai clic su <guibutton >OK</guibutton >.</para>
            </listitem>

            <listitem>
              <para>Il nuovo filtro non viene applicato automaticamente quando chiudi la
finestra di dialogo Filtri: premi <keycap>F5</keycap> per vedere i nuovi
risultati nella finestra Confronto cartelle.</para>
            </listitem>
          </orderedlist>
        </listitem>

        <listitem>
          <para><indexterm>
              <primary>riga di comando</primary>

              <secondary>applicare filtri ai file</secondary>
            </indexterm>Quando avvii un confronto di cartelle
dalla riga di comando di WinMerge, utilizza il flag <option>-f</option> per
specificare un filtro file.</para>
        </listitem>
      </itemizedlist>
    </section>

    <section id="Filters_FileFilterSyntax">
      <title>Sintassi del filtro file<indexterm>
          <primary>regole</primary>

          <secondary>filtro file</secondary>
        </indexterm><indexterm>
          <primary>filtri di file</primary>

          <secondary>sintassi</secondary>
        </indexterm></title>

      <para>Questa sezione descrive la sintassi dei filtri di file WinMerge e fornisce
linee guida per scriverli.</para>

      <para>Il delimitatore del commento è <code>##</code>.Dopo un delimitatore di
commento, tutti i caratteri in una riga vengono ignorati.WinMerge ignora la
maggior parte dei caratteri di spazio bianco nelle regole.Tuttavia, un
commento deve essere sempre preceduto da uno o più caratteri di spazio
bianco (spazio o tabulazione).Per utilizzare <code>##</code> come caratteri
in una regola, ometti il ​​prefisso dello spazio bianco.</para>

      <para>Le prime due righe richieste di un filtro file sono:</para>

      <variablelist>
        <varlistentry>
          <term>nome</term>

          <listitem>
            <para>Il nome del filtro elencato nella finestra di dialogo File</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>def</term>

          <listitem>
            <para>Il tipo di filtro da applicare.Specifica uno di questi valori:</para>

            <variablelist>
              <varlistentry>
                <term>includere</term>

                <listitem>
                  <para>Include tutto tranne gli elementi che corrispondono alla regola specificata.</para>
                </listitem>
              </varlistentry>

              <varlistentry>
                <term>escludere</term>

                <listitem>
                  <para>Esclude tutto tranne gli elementi che corrispondono alla regola specificata.</para>

                  <para>Quando scegli il metodo di esclusione, devi anche aggiungere una regola
<guilabel >d</guilabel > (cartella) che specifichi le sottocartelle. Di
solito è una buona idea specificare tutte le sottocartelle, in questo modo:</para>

                  <screen>d: \\*$ ## Sottocartelle</screen>
                </listitem>
              </varlistentry>
            </variablelist>

            <tip>
              <para>Non confondere questi termini.Ricorda, nei filtri dei file, una regola
<guilabel >include</guilabel > non specifica cosa includere, specifica cosa
<emphasis >non</emphasis > includere.Allo stesso modo, <guilabel
>exclude</guilabel > non specifica cosa escludere, specifica cosa non
escludere.</para>
            </tip>
          </listitem>
        </varlistentry>
      </variablelist>

      <para>Successivamente, il file dovrebbe contenere una o più regole di filtro.Puoi
aggiungere tutte le regole che desideri.Deve esserci una regola per riga e
ciascuna regola deve essere interamente su una riga (in una regola non sono
consentite interruzioni di riga).Una regola inizia con un identificatore di
tipo, seguito da un'espressione regolare o da un'espressione di filtro.I
designatori di tipo supportati sono:</para>

      <variablelist>
        <varlistentry><term>f: <replaceable>regexp</replaceable></term><listitem><para>Abbina i nomi dei file utilizzando le espressioni regolari</para></listitem></varlistentry>
        <varlistentry><term>f!: <replaceable>regexp</replaceable></term><listitem><para>Escludi file corrispondenti a regex (disponibile dalla versione 2.16.19)</para></listitem></varlistentry>
        <varlistentry><term>d: <replaceable>regexp</replaceable></term><listitem><para>Abbina i nomi delle cartelle utilizzando regex</para></listitem></varlistentry>
        <varlistentry><term>d!: <replaceable>regexp</replaceable></term><listitem><para>Escludi cartelle corrispondenti a regex (disponibile dal 16.2.19)</para></listitem></varlistentry>
        <varlistentry><term>fe: <replaceable>espressione</replaceable></term><listitem><para>Espressione di filtro per file (ad esempio fe:Size &lt; 1KB) (disponibile
dal 16.2.49)</para></listitem></varlistentry>
        <varlistentry><term>fe!: <replaceable>expr</replaceable></term><listitem><para>Espressione di filtro per escludere file (disponibile dalla versione
2.16.49)</para></listitem></varlistentry>
        <varlistentry><term>de: <replaceable>espressione</replaceable></term><listitem><para>Espressione di filtro per cartelle (disponibile dalla versione 2.16.49)</para></listitem></varlistentry>
        <varlistentry><term>de!: <replaceable>espressione</replaceable></term><listitem><para>Espressione di filtro per escludere cartelle (disponibile dalla versione
2.16.49)</para></listitem></varlistentry>
        <varlistentry><term>e: <replaceable>espressione</replaceable></term><listitem><para>Espressione di filtro applicata sia a file che a cartelle (ad esempio e:Nome
come "Comune*.*") (disponibile dalla 2.16.56)</para></listitem></varlistentry>
        <varlistentry><term>e!: <replaceable>espressione</replaceable></term><listitem><para>Espressione di filtro per escludere sia file che cartelle (disponibile dalla
2.16.56)</para></listitem></varlistentry>
      </variablelist>

      <para>Tra i tanti caratteri speciali regexp, i seguenti sono particolarmente
importanti nelle regole di filtro dei file:<indexterm>
          <primary>espressioni regolari</primary>

          <secondary>caratteri speciali nei filtri</secondary>
        </indexterm><indexterm>
          <primary>espressioni regolari</primary>

          <secondary>nei filtri dei file</secondary>
        </indexterm></para>

      <variablelist>
        <varlistentry>
          <term>^ (inizio riga)</term>

          <listitem>
            <para>Spesso richiesto affinché le regole funzionino correttamente.</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>$ (fine riga)</term>

          <listitem>
            <para>Spesso richiesto affinché le regole funzionino correttamente.Per esempio:</para>

            <screen>\.c$ ## corrisponde solo ai nomi di file con estensione <filename>c</filename>.
\.c ## corrisponde a qualsiasi estensione che inizia con <filename>c</filename>, come <filename>cpp</filename> e <filename>com</filename>.</screen>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>\ (fuga)</term>

          <listitem>
            <para>Forza i caratteri speciali a corrispondere ai caratteri normali.Ad esempio,
per abbinare il nome di una cartella, anteporre al delimitatore della barra
rovesciata della cartella una barra rovesciata (<code>\\</code>).Per far
corrispondere il punto nel nome di un file, specificare una barra rovesciata
seguita da un punto (<code>\.</code>).</para>
          </listitem>
        </varlistentry>
      </variablelist>

      <para>Non vengono utilizzati caratteri speciali o caratteri jolly per abbinare i
nomi dei file.Per abbinare tutti i nomi di file di un certo tipo, ometti
semplicemente il nome del file.</para>

      <para>Le regole non fanno distinzione tra maiuscole e minuscole.Ad esempio,
<code>f: \.bat$</code> corrisponde a <filename>winmerge.bat</filename> e
<filename>compare.BAT</filename>.</para>

      <example>
        <title>Esempi di regole di filtro file</title>

        <para>Alcune semplici regole di filtro dei file:</para>

<screen>f: \.cpp$ ## Trova i file <filename>*.cpp</filename>
f: \.h$ ## Trova i file <filename>*.h</filename>
f: ^My ## Corrisponde a <filename>My*.*</filename> file
f: Dlg\.## Corrisponde ai file <filename>*Dlg.*</filename>
d: \\test$ ## Trova le cartelle <filename>test</filename>
d: ^\\Build$ ## Corrisponde alle cartelle <filename>Build</filename>
d: Temp$ ## Corrisponde alle cartelle <filename>*Temp</filename> (ad esempio, <filename>FirstTemp</filename>)
d: Src ## Corrisponde alle cartelle <filename>*Src*</filename></screen><para>Alcune regole con espressioni regolari più complesse:</para>

<screen format="linespecific">f: ^\.#.*$ ## <filename>.#nomefile.versione</filename> file
f: Dlg\.c(pp)?$ ## File <filename>*Dlg.c</filename> e <filename>*Dlg.cpp</filename>
f: ^I.*\.h$ ## File <filename>I*.h</filename>
f: Srv[1-9]\.def$ ## da <filename>*Srv1.def</filename> a <filename>*Srv9.def</filename>
f: ^[h,k,m] ## File <filename>h*.*</filename>, <filename>k*.*</filename> e <filename>m*.*</filename></screen></example>
    </section>
  </section>

  <section id="Filters_LineFilter">
    <title>Utilizzo dei filtri di linea<indexterm>
        <primary>filtri</primary>

        <secondary>linea</secondary>
      </indexterm><indexterm>
        <primary>filtri</primary>

        <secondary>nei confronti dei file</secondary>
      </indexterm></title>

    <para>In un confronto di file è possibile utilizzare i filtri di riga per ignorare
singole righe.Ad esempio, potresti utilizzare filtri di riga per ignorare i
commenti o determinati tipi di codice generato, come i timestamp del sistema
di controllo della versione.Ogni filtro di linea è una regola ed è possibile
applicare un numero qualsiasi di filtri di linea a un confronto di file.</para>

    <para>Per informazioni su come aggiungere, modificare e gestire i filtri, vedi
<xref linkend="Filters_dlg" />.</para>

    <section id="Filters_LineFilterApply">
      <title>Applicazione di filtri di linea</title>

      <para>È possibile applicare filtri di linea utilizzando uno di questi metodi:</para>

      <itemizedlist>
        <listitem>
          <para>Quando si avvia un confronto di file dalla finestra di dialogo Seleziona
file o cartelle</para>

          <orderedlist>
            <listitem>
              <para>Dopo aver scelto il file <guilabel >primo</guilabel > e <guilabel
>secondo</guilabel >, fai clic su <guibutton >Seleziona</guibutton > accanto
al campo <guilabel >Filtro</guilabel >.</para>
            </listitem>

            <listitem>
              <para>Nella finestra di dialogo Filtri, utilizzare la scheda Filtri di linea per
abilitare i filtri di linea che si desidera utilizzare (se presenti) o per
vedere quali filtri di linea sono attualmente abilitati.</para>

              <note>
                <para>Il campo <guilabel >Filtro</guilabel > non indica quali filtri di linea sono
abilitati.</para>
              </note>
              <para></para>
            </listitem>

            <listitem>
              <para>Procedere con l'operazione di confronto dei file.I filtri di linea abilitati
vengono applicati all'avvio dell'operazione.</para>
            </listitem>
          </orderedlist>
        </listitem>

        <listitem>
          <para>Dopo aver già avviato un'operazione di confronto dei file (ad esempio, per
applicare filtri diversi o disabilitare i filtri)</para>

          <orderedlist>
            <listitem>
              <para>Fai clic su <menuchoice> <guimenu >Strumenti</guimenu> <guimenuitem
>Filtri</guimenuitem > </menuchoice >.</para>
            </listitem>

            <listitem>
              <para>Apri la scheda Filtri file.</para>
            </listitem>

            <listitem>
              <para>Seleziona i singoli filtri di linea che desideri applicare e deseleziona i
filtri che non desideri applicare.</para>

              <para>Puoi anche aggiungere, modificare e rimuovere filtri dall'elenco utilizzando
i pulsanti <guibutton >Nuovo</guibutton >, <guibutton >Modifica</guibutton >
e <guibutton >Rimuovi</guibutton >.</para>
            </listitem>

            <listitem>
              <para>Per attivare i filtri di linea, seleziona <guilabel >Abilita filtri di
linea</guilabel >.Per disattivare il filtraggio della linea, deseleziona
l'opzione.</para>
            </listitem>

            <listitem>
              <para>Fai clic su <guibutton >OK</guibutton > per chiudere la finestra di dialogo
Filtri file.</para>
            </listitem>

            <listitem>
              <para>Fai clic su <keycap>F5</keycap> per applicare le modifiche e aggiornare la
finestra Confronta file.</para>
            </listitem>
          </orderedlist>
        </listitem>
      </itemizedlist>
    </section>

    <section id="Filters_LineFilterSyntax">
      <title>Sintassi del filtro di linea<indexterm>
          <primary>regole</primary>

          <secondary>filtro di linea</secondary>
        </indexterm><indexterm>
          <primary>filtri</primary>

          <secondary>linea</secondary>
        </indexterm><indexterm>
          <primary>espressioni regolari</primary>

          <secondary>filtri in linea</secondary>
        </indexterm></title>

      <para>Un filtro di riga è una regola che viene valutata rispetto a ogni differenza
di riga singola nei file confrontati, se le regole di filtro di riga sono
abilitate.Quando una regola corrisponde a una differenza di riga singola, la
differenza viene ignorata.</para>

      <para>Le differenze ignorate sono contrassegnate nella finestra Confronta file con
il colore <guilabel >Differenza ignorata</guilabel > (come definito nella
pagina Colori delle Opzioni di WinMerge).Ciò consente di distinguere le
differenze ignorate da altri tipi.Tuttavia, non è possibile selezionare o
unire la differenza ignorata.</para>

      <para>La corrispondenza del filtro di linea può essere descritta in termini di due
idee:</para>

      <itemizedlist>
        <listitem>
          <para>Quando una regola corrisponde a qualsiasi parte della linea, l'intera
differenza viene ignorata.Pertanto non è possibile filtrare solo parte di
una riga.Ad esempio, supponiamo che due file abbiano la seguente differenza
di una sola riga:</para>

          <formalpara>
            <title>File1:</title>

            <para><screen># Jean Sibelius</screen></para>
          </formalpara>

          <formalpara>
            <title>File2:</title>

            <para><screen>#Janne Sibelius</screen></para>
          </formalpara>

          <para>Senza filtraggio, la linea viene rilevata come differenza.Ma se applichiamo
una regola di filtro di riga con l'espressione <code>^#</code>, le righe
vengono riportate come identiche, poiché l'espressione specifica solo il
primo carattere, che corrisponde in entrambi i file.</para>
        </listitem>

        <listitem>
          <para>Una regola viene applicata a una differenza su più righe solo se tutte le
righe corrispondono.Ad esempio, considera questa differenza di due righe:</para>

          <formalpara>
            <title>File1:</title>

            <para><screen># Jean Sibelius
#Pekka Himanen</screen></para>
          </formalpara>

          <formalpara>
            <title>File2:</title>

            <para><screen>#Janne Sibelius
Pekka Himanen</screen></para>
          </formalpara>

          <para>La stessa regola <code>^#</code> corrisponde alla prima riga, ma non alla
seconda riga.Pertanto, la differenza non viene ignorata.</para>
        </listitem>
      </itemizedlist>

      <tip>
        <para>Di solito è buona norma utilizzare i marcatori di inizio riga (
<code>^</code> ) e di fine riga ( <code>$</code> ) per controllare con
precisione i modelli, poiché la regola viene applicata se qualsiasi parte di
una riga corrisponde all'espressione.</para>
      </tip>

      <example>
        <title>Filtri della linea di campionamento</title>

<screen format="linespecific">^IL MIOTAG$</screen><para>Filtra le righe che corrispondono esattamente a <literal>MYTAG</literal></para>

<screen format="linespecific">^::</screen><para>Filtra le righe che iniziano con <literal>::</literal></para>

<screen format="linespecific">^/\*.*\*/$</screen><para>Filtra le righe che iniziano con <literal><constant>/*</constant></literal>
e finiscono con <literal>*/</literal></para>

<screen format="linespecific">^[1-5]00</screen><para>Filtra le righe che iniziano con i numeri 100, 200, 300, 400 e 500</para>
      </example>

      <example>
        <title>Regola del filtro di linea che corrisponde alle linee ID CVS</title>

        <para>Le linee ID CVS hanno questo aspetto:</para>

<screen>// $Id: Filters.xml 7591 20/01/2013 15:47:42Z christianlist $</screen><para>... e può essere filtrato con questa regola:</para>

<screen>^// \WId: .*\$</screen></example>

      <example>
        <title>Filtra i commenti sui numeri di riga nei file po</title>

        <para>i commenti sul numero di riga po assomigliano a questo:</para>

<screen>#: origine/nomefile.c:766</screen><para>... e può essere filtrato con questa regola:</para>

<screen>^#</screen></example>
    </section>
  </section>

  <section id="Filters_SubstitutionFilter">
    <title>Utilizzo dei filtri di sostituzione<indexterm>
        <primary>filtri</primary>

        <secondary>sostituzione</secondary>
      </indexterm><indexterm>
        <primary>filtri</primary>

        <secondary>nei confronti dei file</secondary>
      </indexterm></title>

    <para>Da definire</para>
  </section>

  <section id="Filters_dlg">
    <title>Utilizzo della finestra di dialogo Filtri<indexterm>
        <primary>Finestra di dialogo Filtri</primary>
      </indexterm><indexterm>
        <primary>filtri</primary>

        <secondary>gestire e abilitare</secondary>
      </indexterm></title>

    <para>Questa sezione descrive la finestra di dialogo Filtri, che fornisce funzioni
per creare e gestire filtri di file e filtri di linea.</para>

    <para>Per aprire la finestra di dialogo Filtri, utilizzare uno di questi metodi:</para>

    <itemizedlist>
      <listitem>
        <para>Nella finestra di dialogo Seleziona file o cartelle, fai clic su <guibutton
>Seleziona</guibutton > a destra del campo <guilabel >Filtro</guilabel
>.Utilizzare questo metodo quando si desidera applicare un filtro di file a
un'operazione di confronto di cartelle.</para>
      </listitem>

      <listitem>
        <para>Fai clic su <menuchoice> <guimenu >Strumenti</guimenu> <guimenuitem
>Filtri</guimenuitem > </menuchoice >.Questo metodo può essere utilizzato in
qualsiasi momento, tranne quando è aperta la finestra di dialogo Seleziona
file o cartelle.</para>
      </listitem>
    </itemizedlist>

    <para>La finestra di dialogo Filtri dispone di una scheda per ciascun tipo di
filtro WinMerge:</para>

    <variablelist>
      <varlistentry>
        <term>Filtri di file</term>

        <listitem>
          <para>Scegli questa scheda per utilizzare i filtri dei file per le operazioni di
confronto delle cartelle.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>Filtri di linea</term>

        <listitem>
          <para>Scegli questa scheda per lavorare con i filtri di riga per le operazioni di
confronto dei file.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>Filtri di sostituzione</term>

        <listitem>
          <para>Scegli questa scheda per lavorare con i filtri di sostituzione per le
operazioni di confronto dei file.</para>
        </listitem>
      </varlistentry>
    </variablelist>

    <section id="Filters_FileFiltersTab">
      <title>Utilizzando la scheda Filtri file<indexterm>
          <primary>filtri di file</primary>

          <secondary>abilitante</secondary>
        </indexterm></title>

      <para>La parte principale di questa scheda è un elenco di filtri di file
disponibili per le operazioni di confronto delle cartelle.L'elenco include
filtri di file condivisi, privati ​​e installati conosciuti da WinMerge,
come descritto in <xref linkend="Filters_FileFilterLoc" />.</para>

      <section id="Filters_FileFilterEnabling">
        <title>Abilitazione e disabilitazione dei filtri file</title>

        <para>È necessario abilitare un filtro file per renderlo disponibile in
un'operazione di confronto di cartelle o disabilitare un filtro corrente per
impedirne l'utilizzo:</para>

        <orderedlist>
          <listitem>
            <para>Apri la finestra di dialogo Filtri, se non è già aperta.</para>
          </listitem>

          <listitem>
            <para>Seleziona un filtro file o <guimenuitem >&lt;Nessuno&gt;</guimenuitem>
dall'elenco.</para>
          </listitem>

          <listitem>
            <para>Fai clic su <guibutton >OK</guibutton > per chiudere la finestra di dialogo
Filtri.</para>
          </listitem>
        </orderedlist>

        <para>Esistono diversi modi per applicare i filtri dei file dopo averli
abilitati.Per i dettagli, vedi <xref linkend="Filters_FileFilterApply" />.</para>
      </section>

      <section id="Filters_FileFilterCfg">
        <title>Configurazione dei filtri dei file</title>

        <para>Usa questi pulsanti per gestire l'elenco dei <guilabel >filtri
file</guilabel > e creare nuovi filtri file:</para>

        <variablelist>
          <varlistentry>
            <term>Test</term>

            <listitem>
              <para>Seleziona un filtro di file nell'elenco e fai clic su <guibutton
>Prova</guibutton > per vedere rapidamente come funziona il filtro.Vedi
<xref linkend="Filters_TestingDlg" /> per i dettagli.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Installare</term>

            <listitem>
              <para>Consente di individuare un filtro file e di aggiungerlo all'elenco Filtri.I
filtri dei file che non si trovano nella cartella condivisa o privata
predefinita non vengono rilevati a meno che non li installi.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Nuovo</term>

            <listitem>
              <para>Crea una nuova copia di un modello di file nelle cartelle dei filtri
condivise o private e la apre nell'editor predefinito.Modifica il modello e
aggiungi le tue regole, come descritto in <xref
linkend="Filters_CreatingFile" />.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Modificare</term>

            <listitem>
              <para>Seleziona un filtro file nell'elenco e fai clic su <guibutton
>Modifica</guibutton > per aprire il file nel tuo editor predefinito.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Eliminare</term>

            <listitem>
              <para>Seleziona un filtro file nell'elenco e fai clic su <guibutton
>Elimina</guibutton > per eliminare il file e rimuoverlo dall'elenco.Sì, il
file è stato davvero eliminato!</para>
            </listitem>
          </varlistentry>
        </variablelist>

        <para>Le tue modifiche vengono salvate quando fai clic su <guibutton
>OK</guibutton > per chiudere la finestra di dialogo Filtri.I filtri di
linea sono memorizzati nel registro di Windows.</para>
      </section>

      <section id="Filters_CreatingFile">
        <title>Creazione di un filtro di file</title>

        <para>Se i filtri file installati con WinMerge non forniscono il filtro
necessario, puoi crearne uno tuo:</para>

        <orderedlist>
          <listitem>
            <para>Fai clic su <menuchoice> <guimenu >Strumenti</guimenu> <guimenuitem
>Filtri</guimenuitem > </menuchoice >.Oppure, dalla finestra di dialogo
Seleziona file o cartelle, fai clic su <guibutton >Seleziona</guibutton > a
destra del campo <guilabel >Filtro</guilabel >.</para>
          </listitem>

          <listitem id="Filters_New_step">
            <para>Nella scheda Filtri file della finestra di dialogo Filtri, fai clic su
<guibutton >Nuovo</guibutton >.</para>
          </listitem>

          <listitem>
            <para>Nella finestra di dialogo Filtro condiviso o privato, scegli <guilabel
>Filtro condiviso</guilabel > o <guilabel >Filtro privato</guilabel > (vedi
<xref linkend="Filters_FileFilterLoc" /> per i loro usi) e fai clic su
<keycap >OK</keycap >.</para>

            <para>La finestra di dialogo Seleziona nome file per nuovo filtro si apre nella
cartella dei file condivisi o privati ​​sul sistema (se la cartella privata
non esiste, WinMerge la crea).</para>
          </listitem>

          <listitem>
            <para>Nella finestra di dialogo Seleziona nome file per nuovo filtro, inserisci un
nuovo nome file e fai clic su <guibutton >Salva</guibutton >.</para>

            <note>
              <para>Non scegliere un nome di file esistente: per modificare un file esistente,
torna al passaggio <xref linkend="Filters_New_step" /> e fai clic su
Modifica invece che su Nuovo.</para>
            </note>

            <para>WinMerge inizializza il nuovo file con il contenuto del modello
<filename>FileFilter.tmpl</filename> e lo apre nel tuo editor di testo
predefinito.</para>
          </listitem>

          <listitem>
            <para>Segui le istruzioni del modello per modificare il modello, aggiornando il
nome e la descrizione del segnaposto e aggiungendo regole di filtro come
descritto in <xref linkend="Filters_FileFilterSyntax" />.Salva il file nel
tuo editor di testo.</para>

            <tip>
              <para>Se desideri testare rapidamente una regola che stai definendo, prova a fare
clic su Test nella finestra di dialogo Filtri.Vedi <xref
linkend="Filters_TestingDlg" /> per i dettagli.</para>
            </tip>
            <para></para>
          </listitem>

          <listitem>
            <para>Se hai creato il tuo filtro di file in una delle cartelle standard
<filename>Filtri</filename> e la finestra di dialogo Filtri non elenca il
tuo nuovo filtro di file, prova a fare clic su <guibutton >OK</guibutton >
per chiuderlo, quindi fai di nuovo clic su <menuchoice > <guimenu
>Strumenti</guimenu > <guimenuitem >Filtri</guimenuitem > </menuchoice > per
riaprirlo.L'elenco <guilabel >Filtri file</guilabel > ora dovrebbe includere
il nuovo filtro file.</para>

            <para>Se hai salvato il file in una posizione alternativa sul tuo file system),
WinMerge non potrà rilevarlo a meno che non lo installi.Per rendere un
filtro file rilevabile ovunque sul tuo sistema:</para>

            <orderedlist numeration="loweralpha">
              <listitem>
                <para>Fai clic su <guibutton >Installa</guibutton > nella finestra di dialogo
Filtri.</para>
              </listitem>

              <listitem>
                <para>Nella finestra di dialogo Individua il file del filtro da installare, vai al
file <filename >flt</filename > sul tuo sistema e fai clic su <guibutton
>Apri</guibutton >.L'elenco Filtri file ora dovrebbe includere il filtro
file installato.</para>
              </listitem>
            </orderedlist>
          </listitem>
        </orderedlist>
      </section>

      <section id="Filters_TestingDlg">
        <title>Test delle regole di filtro dei file<indexterm>
            <primary>filtri di file</primary>

            <secondary>test</secondary>
          </indexterm><indexterm>
            <primary>testare i filtri dei file</primary>
          </indexterm></title>

        <para>Utilizza la finestra di dialogo Prova filtro per testare rapidamente un
filtro di file rispetto a dati di esempio, per sviluppare nuove regole o per
comprendere come funzionano le regole esistenti.Può essere più semplice che
eseguire un'operazione di confronto completa.</para>

        <para>A partire dalla finestra di dialogo Filtri:</para>

        <orderedlist>
          <listitem>
            <para>Nella scheda Filtri file, scegli il filtro file che desideri testare.</para>
          </listitem>

          <listitem>
            <para>Se vuoi vedere le regole che testerai, fai clic su <guibutton
>Modifica</guibutton > ora per aprire il file in modo da poterlo
visualizzare durante i passaggi successivi.</para>
          </listitem>

          <listitem>
            <para>Fai clic su <guibutton >Prova</guibutton >.</para>
          </listitem>

          <listitem>
            <para>Nella finestra di dialogo Filtro test, scegli il tipo di regola da testare:</para>

            <itemizedlist>
              <listitem>
                <para>Per testare una regola di file <guilabel >f:</guilabel > nel tuo filtro
file, deseleziona l'opzione <guilabel >Nome cartella</guilabel >.</para>
              </listitem>

              <listitem>
                <para>Per testare una regola della cartella <guilabel >d:</guilabel >, seleziona
l'opzione <guilabel >Nome cartella</guilabel >.</para>
              </listitem>
            </itemizedlist>
          </listitem>

          <listitem>
            <para>Inserisci il testo da testare.</para>

            <para>Il testo deve essere appropriato per il tipo di regola che stai testando.Ad
esempio, se hai selezionato l'opzione <guilabel >Nome cartella</guilabel >,
probabilmente vorrai inserire il nome di una cartella, come \temp.</para>

            <para>La casella <guilabel >Risultato</guilabel > mostra la tua voce, seguita dal
suo stato: <computeroutput >superato</computeroutput > o <computeroutput
>non riuscito</computeroutput >.</para>
          </listitem>
        </orderedlist>
      </section>
    </section>

    <section id="Filters_LineFiltersTab">
      <title>Utilizzando la scheda Filtri di linea<indexterm>
          <primary>filtri di linea</primary>

          <secondary>abilitante</secondary>
        </indexterm></title>

      <para>Utilizzare questa scheda per configurare e abilitare i filtri di riga per le
operazioni di confronto dei file.La scheda presenta un elenco di regole.Ogni
regola contiene una singola espressione regolare.È possibile applicare
qualsiasi combinazione di regole dall'elenco a un confronto di file.</para>

      <section id="Filters_LineFilterCfg">
        <title>Configurazione dei filtri di linea</title>

        <para>Sotto l'elenco delle <guilabel >Espressioni regolari</guilabel > c'è una
casella di modifica e dei pulsanti che puoi utilizzare per mantenere
l'elenco in qualsiasi momento aggiungendo, modificando e rimuovendo regole.</para>

        <para>Per aggiungere una nuova regola:</para>

        <orderedlist>
          <listitem>
            <para>Fai clic su <guibutton >Nuovo</guibutton >.Il cursore di modifica viene
automaticamente abilitato nella casella di modifica.</para>
          </listitem>

          <listitem>
            <para>Inserisci un'espressione nella casella di modifica sotto l'elenco <guilabel
>Espressioni regolari</guilabel >.</para>
          </listitem>

          <listitem>
            <para>Fai clic su <guibutton >Salva</guibutton > per caricare l'espressione in una
nuova riga nell'elenco.</para>
          </listitem>
        </orderedlist>

        <para>Per modificare una regola esistente:</para>

        <orderedlist>
          <listitem>
            <para>Seleziona la riga e fai clic su <guibutton >Modifica</guibutton >.</para>
          </listitem>

          <listitem>
            <para>Modifica l'espressione nella casella di modifica.</para>
          </listitem>

          <listitem>
            <para>Fai clic su <guibutton >Salva</guibutton ><guibutton > </guibutton >quando
hai finito.</para>
          </listitem>
        </orderedlist>

        <para>Per eliminare una regola esistente, seleziona (seleziona) la regola e fai
clic su <guibutton >Rimuovi</guibutton >.</para>
      </section>

      <section id="Filters_LineFilterEnabling">
        <title>Abilitazione e disabilitazione dei filtri di linea<indexterm>
            <primary>filtri di linea</primary>

            <secondary>elenco dei disponibili</secondary>
          </indexterm></title>

        <orderedlist>
          <listitem>
            <para>Nell'elenco <guilabel >Espressioni regolari</guilabel >, seleziona solo i
filtri che vuoi applicare e deseleziona tutti i filtri che non vuoi
applicare.</para>
          </listitem>

          <listitem>
            <para>Seleziona o deseleziona l'opzione <guilabel >Abilita filtri di
linea</guilabel >.Se attivi il filtro, verranno utilizzate tutte le regole
attualmente selezionate nell'elenco <guilabel >Espressione
regolare</guilabel >.Se il filtro è disattivato, non verrà utilizzata alcuna
regola anche se selezionata.</para>
          </listitem>

          <listitem>
            <para>Fai clic su <guibutton >OK</guibutton > per chiudere la finestra di dialogo
Filtri e salvare le tue impostazioni.</para>
          </listitem>
        </orderedlist>

        <para>Esistono diversi modi per applicare i filtri dei file dopo averli
abilitati.Per i dettagli, vedi <xref linkend="Filters_LineFilterApply" />.</para>
      </section>
    </section>

    <section id="Filters_SubstitutionFiltersTab">
      <title>Utilizzando la scheda Filtri di sostituzione<indexterm>
          <primary>filtri sostitutivi</primary>

          <secondary>abilitante</secondary>
        </indexterm></title>

        <para>Da definire</para>

      <section id="Filters_SubstitutionFilterCfg">
        <title>Configurazione dei filtri di sostituzione</title>

        <para>Da definire</para>

      </section>

      <section id="Filters_SubstitutionFilterEnabling">
        <title>Abilitazione e disabilitazione dei filtri di sostituzione<indexterm>
            <primary>filtri sostitutivi</primary>

            <secondary>elenco dei disponibili</secondary>
          </indexterm></title>

        <para>Da definire</para>
      </section>
    </section>
  </section>

  <section id="AboutFilters_regexp">
    <title>Ottieni assistenza con le espressioni regolari<indexterm>
        <primary>espressioni regolari</primary>

        <secondary>ottenere aiuto</secondary>
      </indexterm></title>

    <para>Le espressioni regolari possono essere molto complesse.Fortunatamente, la
maggior parte dei filtri di file in WinMerge coinvolge semplici espressioni
di estensione, come mostrato negli esempi in questo argomento.I file filtro
installati con WinMerge includono molti altri esempi utili.</para>

    <para>Infine, ci sono molte risorse sul Web per assistenza con le espressioni
regolari, inclusi questi siti:</para>

    <variablelist>
      <varlistentry>
        <term>Buon sito dedicato alle espressioni regolari:</term>

        <listitem>
          <simpara><ulink
url="https://www.regular-expressions.info/">https://www.regular-expressions.info/</ulink></simpara>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>Esercitazione:</term>

        <listitem>
          <simpara><ulink
url="http://www.zvon.org/comp/r/tut-Regexp.html">http://www.zvon.org/comp/r/tut-Regexp.html</ulink></simpara>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>Riferimento rapido PDF:</term>

        <listitem>
          <simpara><ulink
url="https://github.com/GordonMcKinney/gist-assets/raw/master/regex.pdf">
https://github.com/GordonMcKinney/gist-assets/raw/master/regex.pdf</ulink></simpara>
        </listitem>
      </varlistentry>
    </variablelist>
  </section>
</article>
