mamy tu speca od basha? 
chcę trochę zautomatyzować kilka prac jakie są przede mną
zadanie:
chcę duży plik .csv podzielić na kilka mniejszych
zawartość pliku 10 tyś linii:
Cytat kolumna1;kolumna2;kolumna3;kolumna4;kolumna5;kolumna6;kolumna7;kolumna8;kolumna9
cos1;cos2;cos3;cos4;cos5;cos6;cos7;cos8;cos9
cos1;cos2;cos3;cos4;cos5;cos6;cos7;cos8;cos9
cos1;cos2;cos3;cos4;cos5;cos6;cos7;cos8;cos9
.
.
.
cos1;cos2;cos3;cos4;cos5;cos6;cos7;cos8;cos9
cos1;cos2;cos3;cos4;cos5;cos6;cos7;cos8;cos9
cos1;cos2;cos3;cos4;cos5;cos6;cos7;cos8;cos9
cos1;cos2;cos3;cos4;cos5;cos6;cos7;cos8;cos9
muszę podzielić na mniejsze po 100 linii
obecnie robię:
1. dziele plik na wiele mniejszych
Cytat split -l100 duzy_plik.csv maly_plik_
2. dodaję nazwy kolumn w pierwszej linii wszystkim nowym plikom
Cytat echo 'kolumna1;kolumna2;kolumna3;kolumna4;kolumna5;kolumna6;kolumna7;kolumna8;kolumna9' | cat - maly_plik_ > temp && mv temp maly_plik_
jakieś pomysły?
Połączony z 12 grudzień 2017 10:31:12:
poradziłem sobie 
Cytat tail -n +2 $1 | split -l$2 - $1_new_
for file in $1_new_*
do
head -n 1 $1 > tmp_file
cat $file >> tmp_file
mv -f tmp_file $file
done
Edytowany przez qrs dnia 12-12-2017 10:31
---
Netgear R7000 • Netgear WNR3500L v2 • MikroTik hAP ac^2 • TP-LINK M7650
|