2012年10月アーカイブ

10月19日

| コメント(0) | トラックバック(0)
お疲れ様です\(^o^)/
朝からOPPでしたorz
絶対昨日食べた1ポンドサーロインステーキだと思います
吐き気もやばいし、ああああという感じでした。。。

結論からいくとまだうまくスクリプトが作れていません><
言い訳すると...
diffの使い方がよく分からなくてですね...
diffだとシェルスクリプトっぽくなってしまうのでしょうか??
いろいろ調べて逆に分からなくなりました...
そしてどっから手を出したらいいのかわからなくなりましたorz
根本的なことが分からん!!
そして昨日は創立記念日で思いっきり休んでしましました。
反省ですorz
メールを送るスクリプトまでなんとか作成したいですね(´・ω・`)

ヒントをもらいつつ作成していきたいと思います(´・ω・`)

glob

| コメント(0) | トラックバック(0)
(2)glob
該当するファイル名の一覧を返すことができる。
ファイル名には?や*を使うことができる。

******************************************************
my $search = '*.txt';

while (my $file = glob($search)) {
  print $file, "\n";
}
******************************************************

ディレクトリを指定しても良い。
******************************************************
my $search = '/home/user1/*.txt';

while (my $file = glob($search)) {
  print $file, "\n";
******************************************************

結果を配列で。
******************************************************
my $search = '*.pl';

my @files = glob($search);

foreach my $file (@files) {
  print $file, "\n";
}
******************************************************

globではなく<>を使う。
******************************************************
while (my $file = <*.pl>) {
 print $file, "\n";
}

******************************************************

参考させていただきました(^o^)

diff

| コメント(0) | トラックバック(0)
ファイルの比較をするための方法を調べたところ
diffとglobがあったので勉強しました(・∀・)

(1)diff
cpanよりText::Diffをダウンロード
試しに使ってみた!!

difftest.pl
****************************************
#!/usr/bin/perl
use Text::Diff;
 
print diff "diff.pl", "diff2.pl";
****************************************

そしたら...
*************************************************************************************************************
Can't locate Algorithm/Diff.pm in @INC (@INC contains: /home/miku/perl5/lib/perl5/
i686-linux-gnu-thread-multi-64int /home/miku/perl5/lib/perl5/i686-linux-gnu-thread-multi-64int /home/miku/perl5/lib/perl5 /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2
/usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at /home/miku/perl5/lib/perl5/Text/Diff.pm line 7.
BEGIN failed--compilation aborted at /home/miku/perl5/lib/perl5/Text/Diff.pm line 7.
Compilation failed in require at difftest.pl line 2.
BEGIN failed--compilation aborted at difftest.pl line 2.
*************************************************************************************************************

なんかうまくインストールされてないみたいだぞ??
/home/miku/perl5/lib/perl5/Text/のDiff.pmのline 7のとこに問題があるみたい。
そこに行ってみると...
****************************
7 use Algorithm::Diff ();
****************************
とあったのでAlgorithm::Diffをインストールしろってことでした。
これをインストールして実行したらうまくいった(^o^)

****************************************************
--- diff.pl    Mon Oct 15 12:33:36 2012
+++ diff2.pl    Mon Oct 15 12:34:08 2012
@@ -1,3 +1,4 @@
 りんご
 ごりら
 らっぱ
+パイナップル
****************************************************
diff2.plにパイナップルがプラスされているという内容。

10月12日の補足

| コメント(0) | トラックバック(0)
<<昨日のゼミの補足≫
自分でもやりたいことが確認できるように絵で表してみた
ちなみに神アプリと言われているNoteAnytimeを使用w

<昨日までにやったところ>
写真 (1).PNG
自分のTweetをdataフォルダーにテキスト形式で出力。
File名は「TwitterID-DataTime.txt」とした。
DataTimeはUNIXtime。
例えば「miyakyo-1349523400.txt」のようなFile名になる。
Fileを開けば,ひとつのTweetが出力されていることになる。


<次回の目標>
写真.PNG
ARCHIVEとメール配信用QUEUEの2つのフォルダーを作成。
作成したdata内にあるファイルとARCHIVE内にあるファイルを比べ,
ARCHIVE内に存在しないファイルがあったらARCHIVEとQUEUEに追加。
「dataにあってARCHIVEにないファイル=新しくつぶやかれたTweet」ということ。
ちなみに存在しないファイルがなければ無視。
こうすることで古いTweetがかぶることなく,新しいTweetがどんどんQUEUEにたまる。

その次はQUEUEに溜まったメールを送信するスクリプトを作成する。

10月12日

| コメント(0) | トラックバック(0)

こんにちは(・∀・)



今回はあるTwitterIDのつぶやきをひとつひとつテキスト形式で
あるフォルダにファイル保存するスクリプトを作成しました!!

*******************************************************************************************************************
20121012.jpg
**************************************************************************************************************************

私はdataというフォルダーの中にテキストファイル(ID-Time.txt)で出力するように作りました\(^o^)/
ファイルの入出力についてすごく分かったような気がします!!

<Nextstep>
①ARCHIVEとQUEUEという2つのフォルダーを作成。
②上で生成したファイルと同じものがあれば無視。ファイルがないならARCHIVEとQUEUEに追加するスクリプトを作成。
何回このスクリプトを動作しても、古いTweetは無視して新しいTweetがどんどんメール配送用QUEUEにたまるという仕組みになります。

今週も頑張るぞおおお!!

ファイル入力

| コメント(0) | トラックバック(0)
ファイルの入出力をここで勉強してみた

**************************************************************
#!/usr/bin/perl

$file="xxxxxxx.csv"; open (IN, $file) or die "$!"; while (<IN>) { print $_; } close (IN);
***************************************
<IN> 開いたファイルを1行単位で読み込み
print $_; 1行単位で読み込んだデータをそのまま表示
while( ) { } 行が存在する限り繰り返す


こちらでも可能
***************************************
@lines = <IN>; foreach (@lines) { print $_; }
***************************************
@lines = <IN> 開いたファイルを1行単位で配列@linesに格納
foreach( ){ }  配列の要素数だけ繰り返す

10月5日

| コメント(0) | トラックバック(0)
お久しぶりです\(^o^)/
今日は芋煮なのでゼミはないですが、研究報告します。

進捗状況↓↓
*perlでメールを送れるように設定

perlでsendmailするスクリプトを実行してみたのですが、結論からいうと断念。
sendmailはだいぶ古いので、もう正常に動かないというのです。<先生から
sendmailインストールして、基本設定までしていたのに...(T_T)時間の無駄でした。
そこでPostfixだとできるというのでインストール。<先生から
正常に動くことができました!!

今後はTwitterのつぶやきをスクレイピングするのですが、
過去のつぶやきはスクレイピングしないようなソースを作成していきたいと思います。

このアーカイブについて

このページには、2012年10月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2012年9月です。

次のアーカイブは2012年11月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

Powered by Movable Type 5.12