lunedì 31 marzo 2014

Copiare linee da file testo con Bash

Su richiesta di un amico, c'era la necessita' di estrarre solo le righe pari (o dispari) da un file testo puro usando Bash

il primo tentativo e' stato fatto con un ciclo for
--------------------------------------------
for i in `seq 1 2 10`;
do
   
    comando="sed -n "$i"p file1.txt >> file2.txt"
    eval $comando
done
---------------------------------------------

in realta' il comando sed ha gia' al suo interno questa possibilita', infatti lo switch p permette di indicare a quale riga iniziare a quante righe saltare. per esempio nell'esempio sottostante vengono salvate una riga si' ed una no partendo da 1
---------------------------------------------
sed -n 1~2p file1.txt >> file2.txt
---------------------------------------------

Nessun commento:

Posta un commento

Alpine Linux 2024 su IBM A31

Ho provato a far resuscitare un IBM A31 destinato alla discarica. La macchina ha processore P4, 256 Mb di RAM, la batteria CMOS morta ed e&#...