Come eliminare righe da un file CSV
A cura di
Totò Fiandaca
| issue
#229
| guida/e
Andrea Borruso
Caso d’uso
Per chi lavora con i dati alfanumerici, spesso, nasce l’esigenza di eliminare delle righe all’interno di file testuali. In questa ricetta utilizzeremo due utility linux molto utili e facili da usare: sed e grep.
esempio
il file è input.csv
data | version | feature | developed |
---|---|---|---|
2020-06-19 | QGIS 3.14 | feature-WMS project validator | Etienne Trimaille |
2021-10-22 | QGIS 3.22 | feature-Add a POST option to the FileDownloader processing algorithm | Etienne Trimaille |
2021-10-22 | QGIS 3.22 | feature-Allow configuration of the max cache size from QGIS settings | David Marteau |
2021-10-22 | QGIS 3.22 | feature-Add version to QGIS Server CLI tools | Etienne Trimaille |
2022-06-17 | QGIS 3.26 | feature-Alternate periodic check strategy for detecting project updates | David Marteau |
2018-10-26 | QGIS 3.4 | Flatpak | Aleix Pol |
2021-06-18 | QGIS 3.20 | feature-Layer notes | Nyall Dawson |
2022-06-17 | QGIS 3.26 | feature-Static parent variable in aggregate expression functions | David Signer |
2020-02-21 | QGIS 3.12 | Edit Invalid Attributes on Copy/Paste to Another Layer | David Signer |
eliminare le righe che NON iniziano, nel campo feature
, con feature-
soluzione con sed
<input.csv sed '/^feature-/!d'
in questo caso !d
non fa cancellare le righe che corrispopndono alla ricerca, ovvero, che iniziano con feature-
soluzione con grep
<input.csv grep -P '^feature-'
in questo caso conserva le righe che corrispondono alla ricerca.
dove:
-P
, –perl-regexp
Interpret PATTERNS as Perl-compatible regular expressions (PCREs). This option is experimental when
combined with the -z (–null-data) option, and grep -P may warn of unimplemented features.