Come aggiungere un carattere ogni n caratteri
Come aggiungere un carattere ogni n caratteri in un testo molto lungo.
A cura di
Totò Fiandaca
| issue
#139
| guida/e
Andrea Borruso
Introduzione
Ho un CSV con un campo popolato da testo abbastanza lungo e ho la necessità di aggiungere, per ogni riga, un carattere ogni N caratteri, l’ideale sarebbe introdurre il carattere in corrispondenza del primo spazio utile dopo gli N caratteri: una sosrta di word wrap
.
esempio file di input text.txt
fid | DESCRIZIONE |
---|---|
1 | "Calcari mal stratificati o massicci (rudstone e floatstone),grossolanamente bioclastici. Subordinatamente contengono orizzonti di calcari micritici a tessitura mudstone e wackestone e calcari oolitici; anche in questa litofacies sono frequenti i veli irregolari calcareo-marnosi di colore giallastro o verdastro.” |
2 | "Calcari mal stratificati o massicci (rudstone e floatstone),grossolanamente bioclastici. Subordinatamente contengono orizzonti di calcari micritici a tessitura mudstone e wackestone e calcari oolitici; anche in questa litofacies sono frequenti i veli irregolari calcareo-marnosi di colore giallastro o verdastro.” |
3 | "Calcari mal stratificati o massicci (rudstone e floatstone),grossolanamente bioclastici. Subordinatamente contengono orizzonti di calcari micritici a tessitura mudstone e wackestone e calcari oolitici; anche in questa litofacies sono frequenti i veli irregolari calcareo-marnosi di colore giallastro o verdastro.” |
script
#!/bin/bash
set -x
mlr --csv cut -f DESCRIZIONE test.txt | fold -sw 50 | mlr --csv cat -n | perl -pe 's/\r\n/~/g;s/\n/*/g;s/~/\r\n/g' >testww.txt
dove:
mlr --csv cut -f DESCRIZIONE test.txt
estrae la colonnaDESCRIZIONE
;fold -sw 50
fa il wordwrap per ogni 50 caratteri;mlr --csv cat -n
stampa a video e aggiunge un contatore simile alfid
del CSV di input;perl -pe 's/\r\n/~/g;s/\n/*/g;s/~/\r\n/g'
cerca glia capo
(\n) e sostituisce il carattere speciale*
>testww.txt
salva tutto nel file.
file di output textww.txt
n | DESCRIZIONE |
---|---|
1 | "Calcari mal stratificati o massicci (rudstone e *floatstone), grossolanamente bioclastici. *Subordinatamente contengono orizzonti di calcari *micritici a tessitura mudstone e wackestone e *calcari oolitici; anche in questa litofacies sono *frequenti i veli irregolari calcareo-marnosi di *colore giallastro o verdastro.” |
2 | "Calcari mal stratificati o massicci (rudstone e *floatstone), grossolanamente bioclastici. *Subordinatamente contengono orizzonti di calcari *micritici a tessitura mudstone e wackestone e *calcari oolitici; anche in questa litofacies sono *frequenti i veli irregolari calcareo-marnosi di *colore giallastro o verdastro.” |
3 | "Calcari mal stratificati o massicci (rudstone e *floatstone), grossolanamente bioclastici. *Subordinatamente contengono orizzonti di calcari *micritici a tessitura mudstone e wackestone e *calcari oolitici; anche in questa litofacies sono *frequenti i veli irregolari calcareo-marnosi di *colore giallastro o verdastro.” |
Riferimenti
Chi ha cucinato questa ricetta o ne ha tratto ispirazione
Ultima modifica 19/07/2020: close #50 (a1365d8)