Apple ne tikai gejiem jeb, kā es mežiniekam palīdzēju

Viendien Twitterī sastapos ar bračkas sāpi:

Viņš tagad raksta diplomu, lai kļūtu par diplomētu meža inženieri. Jau bija izskraidījis mežu, saurbis no kokiem gadskātu paraugus, izpētījis ar mikroskopu un savadījis datus. Tikai gadskārtu skaitīšanas/mērīšanas datorprogramma izdod datus Excelī neimportējamā plain text failā. Attēls:

plain text

Nācās fiksi izlīdzēt. Čakarēties ar 120 datnēm ir bezjēdzīgi. Nekāds programmētājs, diemžēl, es neesmu. Pieejams vien Mac Mini ar Yosemite. Pirmām kārtām es uztaisīju jēdzīgus datņu nosaukumus, kas sākas ar nogabala id un koka attālumu no grāvja. Ņēmu talkā Automator, kas, kā izrādījās, ir diezgan jaudīgs rīks. Izveidoju noteikumu, ka norādītajām datnēm jāpieliek nosaukuma priekšā id un attālums. Šitā:

nosaukumi

Tagad es varēju samest visas datnes vienā mapē. Tā ērtāk! Nezināju, kā izmēzt no datnes visas atstarpes, kuru tur nevajag. Atradu Perl. Perl Mac OS ir iebūvēts. Mēziens notika ar komandu:

perl -pi -w -e 's/ //g;' ~Desktop/tmp/*.txt

perl

Pasākums nostrādāja zibenīgi. Pēc Enter nospiešanas, visās 120 datnēs izdzisa visas atstarpes :) Tā daļa, kas atrod atstarpi un to nomaina ar neko, noformēta ar sarkano.

Kaut kā ne uzreiz nostrādāja pirmo 35 rindu dzēšana no visām datnēm. Bija Bash komanda, bet tā nostrādāja tikai pirmajai datnei, pārējās ignorējot :( Nezinu, kas par gļuku. Jāpaskatās tas pats darba Linux darbstacijā. Ņēmu un brutāli iebāzu šo komandu Automatorā, kas deva pareizo rezultātu. Šādi:

bash

Beigās es ar to pašu Automator nomainīju datnēm paplašinājumu uz *.csv, lai smuki veras vaļā jebkurā izklājlapu lietotnē. Tad es nosūtīju salabotās datnes tālākai apstrādei. Rezultāts:

csv

Tagad no šī lēruma top grafiki, mērītas korelācijas un izzīsti secinājumi. Jūtos gandarīts :)

Atruna!

  • programmētāji teiks, ka to varēja izveikt ar vienu skriptu/komandu/programmu, bet es neesmu programmētājs. Mana programmēšana aprobežojas ar V.Vēzim paskālā rakstītiem mājas darbiem;
  • Linux guru teiks, ka to varēja paveikt plikā komandrindā, un es viņiem piekritīšu. Taču es neesmu guru un Linux lietoju darbā. Mājās — Mac;
  • Windows lietotāji teiks, ka tam ir 100 un 1 utilīta, bet tās meklējot, var dabūt 1000 un 1 vīrusu. Nemīlu Win;
  • geji teiks, ka es apsaukājos, bet tas ir tikai citāts no vispārpieņemta viedokļa Linux un Windows lietotāju vidū ;)

Secinājums: Es notriecu stipri mazāk laika nekā to būtu darījis mežinieks bakstoties ar IT grabažām.