opendatasicilia / tansignari

"T'ansignari e t'appeddiri"
http://tansignari.opendatasicilia.it
Creative Commons Attribution 4.0 International
18 stars 10 forks source link

Eliminare righe da un file testuale usando sed #229

Closed pigreco closed 1 year ago

pigreco commented 1 year ago

File txt così fatto:

changelog-for-qgis-3-2
sponsors-for-qgis-version-3-2
general
feature-new-zipped-project-file-format-qgz-is-now-the-default-format
feature-filtering-for-field-values-in-query-builder
feature-full-screen-map-via-ctrl-shift-tab
map-tools
feature-simplify-map-tool-can-now-also-smooth-features
feature-identify-tool-with-extra-options
feature-store-also-expanded-collapsed-state-of-nodes-in-map-themes
....
....

vorrei eliminare le righe che NON iniziano per feature-, utilizzo sed e il seguente comando:

sed  '/^[^feature-]/d' ./toto-featureQGIS3-0.txt

ma non elimina tutti le righe che dovrebbe eliminare, perché?

image

toto-featureQGIS3-0.txt

doc: https://it.ccm.net/faq/18488-eliminare-righe-da-un-file-che-usa-sed

aborruso commented 1 year ago

caro @pigreco

con sed <input.txt sed '/^feature-/!d', in cui !d applica l'inverso (non cancellare).

O con grep, al positivo, "fai passare ciò che inizia con"

<input.txt grep -P '^feature-'
aborruso commented 1 year ago

@pigreco aggiungo un elemento: ^[^feature-] non vuol dire che non inizia per feature, ma vuol dire che non inizia per uno dei caratteri nella lista feature-.

pigreco commented 1 year ago

@pigreco aggiungo un elemento: ^[^feature-] non vuol dire che non inizia per feature, ma vuol dire che non inizia per uno dei caratteri nella lista feature-.

verooooooooooooooo che enorme errore che ho fatto!!!!

pigreco commented 1 year ago

@pigreco aggiungo un elemento: ^[^feature-] non vuol dire che non inizia per feature, ma vuol dire che non inizia per uno dei caratteri nella lista feature-.

questa restituisce quello che volevo, a patto che tutte le righe che iniziano con f siano quelle cercate

sed  '/^[^f]/d' ./toto-featureQGIS3-0.txt
aborruso commented 1 year ago

questa restituisce quello che volevo, a patto che tutte le righe che iniziano con f siano quelle cercate

è una scelta rischiosa. Con le due che ti ho dato sei in una botte di ferro

pigreco commented 1 year ago

ricetta fatta e pubblicata

https://tansignari.opendatasicilia.it/ricette/utilities/eliminare_righe_da_csv/