Ciao, è la prima volta che mi cimento con uno script bash per editare un file di testo. Ho letto qualcosa in giro e ho tirato fuori uno script ma non funziona.
Espongo il problema.
Ho un file di questo tipo in input:
(ovviamente le righe sono molte di più ho tagliato per comodità)codice:1,1,22.5714 1,2,22.8347 1,3,23.1627 1,4,22.6231 @ 2,1,22.6156 2,2,22.635 2,3,22.6401 2,4,22.8164 @ 3,1,22.1473 3,2,22.7027 3,3,22.7747 3,4,22.5934 @ [...] @
Da questo file voglio eliminare tutte le righe che iniziano con un numero pari
quindi ottenere un file di questo tipo:
Inizialmente avevo pensato di sfruttare le '@' ma non sapevo come fare. Così ho pensato a questa soluzione:codice:1,1,22.5714 1,2,22.8347 1,3,23.1627 1,4,22.6231 @ 3,1,22.1473 3,2,22.7027 3,3,22.7747 3,4,22.5934 @ 5,1,22.1473 5,2,22.7027 5,3,22.7747 5,4,22.5934 @ [...] @
Ma i problemi sono 2:codice:#!/bin/bash nomefile=GRID49_t1.csv echo "$nomefile" for i in {0..100..2} do sed "s/$i//g" "$nomefile" > prova.csv done
1. cancella solo il primo numero della riga
2. legge sempre dal primo file quindi cancella solo il 100 (il file arriva fino a 100 come primo numero). Ho provato ad inserire nel for questoma poi cancella tutto.codice:nomefile=prova.csv
Suggerimenti/consigli?

Rispondi quotando