Autorius Tema: Perl vienos eilutes programos  (Skaityta 2632 kartus)

0 Nariai ir 1 Svečias peržiūrinėja šią temą.

Neprisijungęs GODhack

  • Full Member
  • ***
  • Įrašai: 198
    • Žiūrėti profilį
Perl vienos eilutes programos
« Įrašytas: 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. :)