Diskusijos apie laisvąsias programas

Kitkas => Programavimas => Temą pradėjo: GODhack 2012 m. Vasario 24 d. 15:49:56

Antraštė: Perl vienos eilutes programos
Parašė: GODhack 2012 m. Vasario 24 d. 15:49:56
Susiduriau su darbine problema, kad turiu faila duomenys.txt kuriame viskas is naujos eilutes mazdaug taip:
vienas
du
trys
O man reikia, kad butu viskas vienoje eiluteje atskirta kalbeliais ir tarpais (.csv). Va taip:
vienas, du, trys,
Kad paskui ofiso Calc atidarytu kaip viena eilute.
Zinoma galima atsidaryti viska su teksto redaktoriumi ir taisyti ilgai ir nuobodziai ir dar ivelti kokia nesamone.
Bet galima tai padaryti ir su perl:
cat duomenys.txt | perl -p -e 's/\s/, /g' >duomenys.csv
Viskas tik tokia komanda ir darbas baigtas :D

cat nuskaito faila tada | perduoda ji i perl tada perl -p -e paleidzia programa kurios kodas kabutese ir tai yra pakeitimas s///g, o \s tai naujos eilutes simbolis keiciamas i ", ". Tada > nukreipia rezultata i tekstini faila duomenys.csv. Tikiuosi suprantamai paaiskinau. Man labai praverte, tuo paciu budu galima daryti ivairius pakeitimus, netgi skaiciavimus tekstiniuose failuose. Bet skaiciavimus pasidarysiu su Calc si karta. :)