Archives For Notepad++

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!

Notepad++: aggiungere testo a inizio e fine di ogni lineaHo avuto necessità di mettere mano a un file con voci duplicate, e rimuoverle per cercare di lavorare in maniera più pulita. Come al solito, ho cercato una soluzione da applicare tramite l’utilizzo di Notepad++, ottenendo ovviamente una risposta già utilizzata in passato. Un’espressione regolare, trovata in una discussione su Stack Overflow.

Senza necessità di evidenziare alcunché, ti basterà lanciare una sostituzione testo (CTRL+H), selezionando Espressione regolare, e inserendo nel campo sorgente ^(.*?)$\s+?^(?=.*^\1$), mentre dovrai lasciare vuoto il secondo campo (Sostituisci con). Appena fatto, fai clic su Sostituisci tutti ed il gioco sarà fatto.

Notepad++: rimuovere righe duplicate

Giusto per dettagliare meglio, cerco di riassumere quanto spiegato in originale:

  • ^ corrisponde all’inizio della riga.
  • (.*?) va a memorizzare progressivamente le righe trovate nel file, così da renderle disponibili in seguito per l’individuazione dei duplicati.
  • $ corrisponde al termine della riga.
  • \s+?^ questa parte corrisponde a tutti i caratteri di spaziatura (tipicamente nuove righe!) fino all’inizio della nuova riga (in pratica va a rimuovere le righe vuote che vengono lasciate dopo aver rimosso un duplicato).
  • (?=.*^\1$) è la parte di espressione regex che permette di rimuovere una riga quando questa è la stessa identica precedentemente rilevata in qualsiasi altro punto del file.

Buon lavoro! :-)

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!

Notepad++: aggiungere testo a inizio e fine di ogni lineaLo so, ne avevo già parlato (per metà, a dirla tutta), stavolta infatti ci aggiungo anche il riferimento al testo da anteporre a qualsiasi riga voi selezioniate all’interno di un file aperto in Notepad++, si perché non c’è cosa più buona e giusta che utilizzare un editor così ricco di funzioni, per fargli svolgere del lavoro che diversamente dovreste fare voi (a manina, o tramite altra applicazione).

Scenario: molte righe, un testo da anteporre e uno da posporre su ciascuna riga. L’esercizio si porta a termine ancora una volta tramite espressioni regolari. Bisognerà semplicemente evidenziare le righe che vi serve modificare, lanciare una sostituzione testo (CTRL+H), spostarvi su un tipo di ricerca basata su Espressione regolare e inserire nel campo sorgente “^” (senza le virgolette), mentre nel campo successivo inserire il test da andare ad anteporre alle righe. Assicuratevi di aver selezionato la voce “Nella selezione” (prima di fare danni, nda), potete ora fare clic su Sostituisci tutti.

Notepad++: aggiungere testo a inizio e fine di ogni linea 1

Diversa è la formula per andare a posporre il testo a fine riga, ripetendo ancora una volta l’operazione su tutte le righe selezionate. Tutto rimane invariato tranne il campo di ricerca, al posto di “^” ci andrà un “$” (ancora una volta senza virgolette).

Notepad++: aggiungere testo a inizio e fine di ogni linea 2

Facile e immediato.

Microsoft_Outlook_2013_logo.svg

Mi è stato chiesto di “trasformare” un’intera rubrica di Outlook in un gruppo di contatti affinché li si potesse facilmente richiamare e passare tra client. Questa è una funzione non prevista nativamente da Outlook ma c’è un modo per farlo aggirando l’ostacolo e con un paio di operazioni in più nella lista delle cose da fare.

Volendola riassumere, occorrerà esportare tutti i contatti in vCard, unirli in un solo file VCF che li contenga tutti e solo allora tramite un editor di testo recuperare gli indirizzi di posta elettronica che poi potranno essere aggiunti facilmente ad un gruppo di Outlook. Vi servirà il più classico dei Notepad++ ed il prompt dei comandi di Windows.

Spostatevi nella rubrica di Outlook e selezionate tutti i contatti, poi fate clic sul pulsante “Inoltra contatto” e quindi “Come biglietto da visita“. Attendete e non abbiate paura che qualcosa sia andato storto se non si apre subito la finestra della nuova mail, più sono i contatti selezionate e “mandati in esportazione“, più sarà il tempo impiegato da Outlook per farlo. Quando vedrete finalmente aprirsi la finestra della nuova mail noterete che all’interno del campo “allegato” ciascun contatto avrà il suo file VCF (vCard). Inviate a voi stessi la mail giusto perché così facendo avrete la possibilità di fare clic con il tasto destro su uno qualsiasi degli allegati e salvarli tutti in un solo colpo (poi buttate via la mail perché non vi servirà più a nulla).

A questo punto tramite un prompt dei comandi dovrete unire tutti i file vCard generandone uno solo tramite un semplice:

copy *.vcf nomefileunico.vcf

CopyVCF-FileUnico-01

Dove il *.vcf permette di richiamare tutti i file vCard precedentemente salvati e il “nomefileunico.vcf” sarà l’unico file generato che li conterrà tutti. È come un grande file di testo, l’operazione va sicuramente a buon fine a meno di avere un file corrotto e quel risultato potrà poi essere lavorato:

CopyVCF-FileUnico-02

A questo punto il resto delle operazioni è semplice: tasto destro sul VCF unico che avete appena creato, apritelo con Notepad++ (come già anticipato) e lanciate una ricerca di “EMAIL;PREF;INTERNET:” e fate clic su “Trova tutto nel documento corrente“, così facendo il software raccoglierà solo le stringhe contenenti l’indirizzo di posta elettronica. Copiate il contenuto della ricerca in un nuovo file di testo e tramite un CTRL + H (equivale al cerca e sostituisci) inserite come testo da cercare “EMAIL;PREF;INTERNET:” e come testo da sostituire lasciate la riga vuota, così dando conferma andrete a cancellare ciò che c’è di inutile prima dell’indirizzo di posta elettronica. Da qui in poi vi basterà dare un’occhiata ad un mio precedente articolo che spiega come filtrare i risultati della ricerca ed eliminare quel “Line **” prima di ciò che realmente volete tenere: gioxx.org/2015/02/27/notepad-filtrare-e-pulire-i-risultati-di-una-ricerca. Così facendo il file resterà completamente pulito e popolato di soli indirizzi di posta elettronica, copiateli tutti e incollateli all’interno di un nuovo gruppo di Outlook, il gioco è fatto.

Avete Outlook 2010 e anche voi dovete esportare dei contatti per formare un gruppo? Secondo un thread nel forum di supporto ufficiale di Microsoft il trucco è compatibile anche con Outlook 2010 perché è in grado -come Outlook 2013- di fare forward dei contatti in vCard, permettendovi di seguire così passo-passo quanto riportato qui sopra.

P.S. Se fate parte di coloro che non sopportano neanche un po’ questo dover smanettare tra più programmi e passaggi consiglio un tool online che dovrebbe fare al caso vostro: emailx.discoveryvip.com.

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!

Notepad++ permette facilmente di ricercare un dettaglio all’interno di un documento e, nel caso in cui questo sia presente più volte, raccoglierlo in un box apposito dove potrete anche verificare il numero di riga in cui è stato individuato. Provate a evidenziare una parte di testo, premere CTRL + F e poi il pulsante “Trova tutto nel documento corrente“. Vi si aprirà un box in basso nella finestra con tutte le righe in cui è stato individuato il vostro testo. Voi potrete ovviamente copiare il contenuto del box e incollarlo in un nuovo file di testo sul quale operare ma soprattutto pulire il risultato.

Avrete notato che Notepad++ copia anche il suo inizio di riga (Line **: ecc.), sicuramente inutile per i vostri fini. Poco male, la pulizia è davvero a portata di mano e come al solito basta una espressione regolare. Aprite il box di sostituzione (CTRL + H) e inserite nel campo di ricerca:

\s+Line \d+:\s+

Mentre nel campo di sostituzione andrete a inserire ciò che dovrà diventare quel suo “Line…“, come un punto e virgola o un “a capo”, quest’ultimo si ottiene sempre nella stessa maniera, quindi con un semplice “\n” (no virgolette, mi raccomando). Ricordatevi ovviamente di andare a spuntare l’opzione “Regular expression” (o espressione regolare, se avete Notepad++ in italiano) prima di lanciare la sostituzione in tutto il documento (come in immagine):

CopyVCF-SostituzioneNotepadPP

Il gioco è fatto ed il documento sarà ora perfettamente pulito :-)

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!

Classica pillola che potrebbe tornare molto utile a chi spesso utilizza l’ottimo Notepad++ ed è solito modificare codici sorgenti o file di testo che includono testo da mandare a capo magari delineato solo da un carattere ben definito.

Nel mio caso avevo a che fare con un CSV esportato da Excel, delineato da un punto e virgola per ciascuna riga che sarebbe però dovuta andare a capo per essere lavorata al meglio in questo editor di testo. Come modificare quel delimitatore con un “invio” senza però farlo manualmente per ciascuna riga? Presto detto. Richiamate il “Sostituisci” con CTRL+H (o Cerca / Sostituisci) e inserite il vostro delimitatore, quindi il “\n” come espressione regolare (interpretato così come un a capo) per la sostituzione, proprio come in immagine:

Notepad++: sostituire facilmente un carattere con un a capo

Una volta lanciata la sostituzione otterrete il risultato voluto.

Buon lavoro!