<?xml version="1.0" encoding="utf-8"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:admin="http://webns.net/mvcb/"
xmlns:cc="http://web.resource.org/cc/"
xmlns="http://purl.org/rss/1.0/">

<channel rdf:about="http://www.wave440.com/wave_log/">
<title>WAVE ログ</title>
<link>http://www.wave440.com/wave_log/</link>
<description><![CDATA[「<a href="http://www.wave440.com" target="_blank">guitar site WAVE</a> の ログ」です。「ウェブログ」とのダジャレにもなっております。（イタッ！）]]></description>
<dc:language>ja</dc:language>
<dc:creator></dc:creator>
<dc:date>2008-07-08T18:59:32+09:00</dc:date>
<admin:generatorAgent rdf:resource="http://www.movabletype.org/?v=3.17-ja" />


<items>
<rdf:Seq><rdf:li rdf:resource="http://www.wave440.com/wave_log/archives/2008/07/post_77.html" />
<rdf:li rdf:resource="http://www.wave440.com/wave_log/archives/2008/07/post_76.html" />
<rdf:li rdf:resource="http://www.wave440.com/wave_log/archives/2008/05/post_75.html" />
<rdf:li rdf:resource="http://www.wave440.com/wave_log/archives/2008/03/postfix_amavisd.html" />
<rdf:li rdf:resource="http://www.wave440.com/wave_log/archives/2008/03/post_74.html" />
<rdf:li rdf:resource="http://www.wave440.com/wave_log/archives/2008/03/post_73.html" />
<rdf:li rdf:resource="http://www.wave440.com/wave_log/archives/2008/03/post_72.html" />
<rdf:li rdf:resource="http://www.wave440.com/wave_log/archives/2007/04/post_71.html" />
<rdf:li rdf:resource="http://www.wave440.com/wave_log/archives/2007/04/post_70.html" />
<rdf:li rdf:resource="http://www.wave440.com/wave_log/archives/2007/04/post_69.html" />
<rdf:li rdf:resource="http://www.wave440.com/wave_log/archives/2007/01/post_68.html" />
<rdf:li rdf:resource="http://www.wave440.com/wave_log/archives/2006/11/post_67.html" />
<rdf:li rdf:resource="http://www.wave440.com/wave_log/archives/2006/11/post_66.html" />
<rdf:li rdf:resource="http://www.wave440.com/wave_log/archives/2006/11/post_65.html" />
<rdf:li rdf:resource="http://www.wave440.com/wave_log/archives/2006/11/post_64.html" />
</rdf:Seq>
</items>

</channel>

<item rdf:about="http://www.wave440.com/wave_log/archives/2008/07/post_77.html">
<title>連続する同じ内容の行をまとめる</title>
<link>http://www.wave440.com/wave_log/archives/2008/07/post_77.html</link>
<description><![CDATA[<p>uniq コマンド<br />
連続する同じ行がある場合それらを削除して表示することができる。<br />
オプションを使用することで、いろいろな表示方法を選べる。</p>

<div class="comm">#　cat sample.txt<br />
Hello World !<br />
Hello World !<br />
Hello World !<br />
Hello World !<br />
How are you ?</div>

<p>に対して</p>

<p>連続する行をまとめて表示</p>

<div class="comm">#　uniq sample.txt<br />
Hello World !<br />
How are you ?</div>

<p>連続する同じ行がいくつあるか表示</p>

<div class="comm">#　uniq -c sample.txt<br />
   4 Hello World !<br />
   1 How are you ?</div>

<p>連続する同じ行のみ表示</p>

<div class="comm">#　uniq -d sample.txt<br />
Hello World !</div>

<p>1度しか現れない行のみ表示</p>

<div class="comm">#　uniq -u sample.txt<br />
How are you ?</div>
]]></description>
<dc:subject>コマンド・メモ</dc:subject>

<dc:creator>ゆう</dc:creator>
<dc:date>2008-07-08T18:59:32+09:00</dc:date>
</item>
<item rdf:about="http://www.wave440.com/wave_log/archives/2008/07/post_76.html">
<title>テキストファイルの内容を逆順に表示</title>
<link>http://www.wave440.com/wave_log/archives/2008/07/post_76.html</link>
<description><![CDATA[<p>tac コマンド<br />
テキストファイルの内容を区切り文字を基準に逆順に表示する。<br />
デフォルトでは区切り文字は改行文字なので行単位で逆順に表示される。</p>

<div class="comm">#　tac file.txt</div>

<p>オプション<br />
-s　区切り文字：区切り文字を指定する。<br />
</p>]]></description>
<dc:subject>コマンド・メモ</dc:subject>

<dc:creator>ゆう</dc:creator>
<dc:date>2008-07-03T18:54:53+09:00</dc:date>
</item>
<item rdf:about="http://www.wave440.com/wave_log/archives/2008/05/post_75.html">
<title>フィールド，カラムを取り出して表示する</title>
<link>http://www.wave440.com/wave_log/archives/2008/05/post_75.html</link>
<description><![CDATA[<p>cut コマンド</p>

<p>オプション<br />
-c 位置：取り出すカラムの位置を指定する。（複数指定可、範囲指定可） <br />
-f 位置：取り出すフィールドの位置を指定する。（複数指定可、範囲指定可） <br />
-d 区切り文字：フィールドの区切り文字を指定する。<br />
 <br />
最初の3文字を出力する。</p>

<div class="comm">#　cut -c1-3 list.txt</div>

<p>ファイルの各行のスペースで区切られた2番目のフィールドを切り出す。</p>

<div class="comm">#　cut -d' ' -f2 list.txt</div>
]]></description>
<dc:subject>コマンド・メモ</dc:subject>

<dc:creator>ゆう</dc:creator>
<dc:date>2008-05-23T13:53:03+09:00</dc:date>
</item>
<item rdf:about="http://www.wave440.com/wave_log/archives/2008/03/postfix_amavisd.html">
<title>Postfix + amavisd-new + Clam AntiVirus + Procmail + SpamAssassin の設定</title>
<link>http://www.wave440.com/wave_log/archives/2008/03/postfix_amavisd.html</link>
<description><![CDATA[<p>一応正常に動いているみたいなので、メモっておきます。<br />
受信メールサーバーはIMAPを使っています。</p>

<p>１）Procmail の設定ですが、</p>

<div class="comm">#　vi /etc/procmailrc</div>
<br />
<div class="comm">SHELL=/bin/bash<br />
PATH=/usr/bin:/bin<br />
DROPPRIVS=yes<br />
MAILDIR=$HOME/Maildir<br />
DEFAULT=$MAILDIR/<br />
SPAM=$MAILDIR/.Spam/<br />
LOGFILE=$HOME/.procmail.log # ログ出力先<br />
#VERBOSE=ON # 詳細ログ出力<br />
<br />
# 未承諾広告メール削除※システムの文字コードがEUCの場合<br />
:0<br />
* ^Subject:.*iso-2022-jp<br />
* ^Subject:\/.*<br />
* ? echo "$MATCH" | nkf -meZ2 | sed 's/[[:space:]]//g' | egrep '未承諾広告※'<br />
/dev/null<br />
<br />
# SpamAssassinによるスパムチェック<br />
:0fw<br />
|/usr/bin/spamc<br />
<br />
# SpamAssassinがスパム判定したメールはスパム専用メールボックスへ配送<br />
:0<br />
*^X-Spam-Flag: YES<br />
$SPAM</div>

<p>こんな感じです。<br />
すべての受信メールを SpamAssassin に送ってスパムチェックをさせています。</p>

<p>ここで、<br />
<div class="comm">:0fw<br />
|/usr/bin/spamc</div></p>

<p>の「f」は「アクションに指定されているコマンドをフィルタとして取り扱う。」ということだそうです。つまり、SpamAssassin をフィルタとして使うということですよね。この「f」がないとフィルタにならずに SpamAssassin に行ったきり戻ってこず、結果的に受信されないという状態になります。<br />
ちなみに、「w」は「アクションに指定したフィルタやコマンドが終了するまで待つ。」ということらしいです。</p>

<p>２）スパム対策は、Procmail を使って SpamAssassin でするので、amavisd-new の spam メールフィルタは停止させています。<br />
<font color="red">コメントアウト解除</font><br />
<div class="comm">#　vi /etc/amavisd.conf</div><br />
<div class="comm">#<span class="batu">X</span>@bypass_spam_checks_maps</div></p>

<p>再起動。<br />
<div class="comm">#　service amavisd restart</div></p>

<p>これを停止させるとかなりメモリの節約になります。</p>

<p>３）SpamAssassin 設定ファイルは TLEC のを使っています。<br />
スパムメールと判断する閾値が TLEC の設定を使うと、<br />
<div class="comm">required_score 13.0</div></p>

<p>なので、これを「5.0」に書き換えるように以下のスクリプトを使用しています。</p>

<p>いくらか使っていれば学習して「13.0」でも良いようになるのかもしれませんが、僕の場合とりあえず最初は「5.0」～「7.0」ぐらいにしておかないとスパムをうまく振り分けてくれませんでした。</p>

<div class="comm">#　vi spamassassin-update</div>
<br />
<div class="comm">#!/bin/bash<br />
<br />
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin<br />
# TLEC(http://tlec.linux.or.jp/)よりSpamAssassin設定ファイル最新版ダウンロード<br />
cd /etc/mail/spamassassin<br />
wget -qN http://tlec.linux.or.jp/docs/user_prefs<br />
cp user_prefs local.cf<br />
# スパム判断したメールを添付形式にしないように設定<br />
echo "report_safe 0" >> local.cf<br />
<br />
# ok_languagesオプション削除<br />
sed -i '/^ok_languages/d' /etc/mail/spamassassin/local.cf<br />
<br />
# local.cfのrequired_scoreを「5.0」に変更<br />
required_score=5.0<br />
sed -i "s/required_score.*/required_score $required_score/g" /etc/mail/spamassassin/local.cf<br />
<br />
# SpamAssassin再起動<br />
/etc/rc.d/init.d/spamassassin restart > /dev/null</div>

<p>ちなみに、各ユーザ毎に設定するなら、<br />
各ユーザホームディレクトリにある、.spamassassin/user_prefs ファイルの required_score を設定します。local.cf より優先します。<br />
</p>]]></description>
<dc:subject>自宅サーバ</dc:subject>

<dc:creator>ゆう</dc:creator>
<dc:date>2008-03-19T17:57:59+09:00</dc:date>
</item>
<item rdf:about="http://www.wave440.com/wave_log/archives/2008/03/post_74.html">
<title>コメントでエラー</title>
<link>http://www.wave440.com/wave_log/archives/2008/03/post_74.html</link>
<description><![CDATA[<p>もう長いこと、このブログにコメントが付いていないのですが、あ、いや、もともと正常な（？）コメントは滅多に付かずに付くのはスパムばかりなのですが、それすら付かなかったんですよね。</p>

<p>コメントしようとするとなんかエラー出るのかなぁ、とか思っていたんですが、今まで調べてみなかったんですわ。<br />
んで、この度、試しに自分でコメント入れようとしてみたら、</p>

<div class="comm">エラーが発生しました:<br />Unmatched ) in regex; marked by <-- HERE in m/140.109.225.239) <-- HERE / at /var/www/html/blog/lib/MT/App/Comments.pm line 208.</div>

<p>…だって。あら!?やっぱり。</p>

<p>調べたら、「禁止IP」として登録しているIPアドレスに「)」が付いちゃってて、<br />
140.109.225.239)<br />
こんなんなってました。<br />
コレ、「禁止IP」から削除したら直りましたわ。</p>

<p>このIP、登録したの１年以上前だった。長い間コメント付けられず申し訳ありませんでした。<br />
でも、これからまた、スパムに悩まされるだけかしら。（苦笑）<br />
</p>]]></description>
<dc:subject>MT 3.1 カスタマイズ</dc:subject>

<dc:creator>ゆう</dc:creator>
<dc:date>2008-03-17T14:28:18+09:00</dc:date>
</item>
<item rdf:about="http://www.wave440.com/wave_log/archives/2008/03/post_73.html">
<title>テキストファイルを行単位で並べ替える</title>
<link>http://www.wave440.com/wave_log/archives/2008/03/post_73.html</link>
<description><![CDATA[<p>sort コマンド</p>

<p>オプション<br />
-n：数値として並べ替える。 <br />
-r：降順に並べ替える。（指定しない場合は昇順） <br />
-t 文字：指定文字を区切り文字とする。（デフォルトは空白） <br />
-k 数値1（,数値2）：数値1番目のフィールドから数値2番目のフィールドをキーとする。（先頭フィールドは1）<br />
 </p>

<div class="comm">#　cat list.txt<br />
yuna 95<br />
runa 32<br />
honoka 44<br />
hinata 74<br />
mao 19<br />
haruna 89<br />
kanon 65<br />
mana 55<br />
haruka 100<br />
nanami 82</div>

<p>に対して、</p>

<div class="comm">#　sort -n -r -k 2,2 list.txt<br />
haruka 100<br />
yuna 95<br />
haruna 89<br />
nanami 82<br />
hinata 74<br />
kanon 65<br />
mana 55<br />
honoka 44<br />
runa 32<br />
mao 19</div>
<br />
<div class="comm">#　sort -k 1,1 list.txt<br />
haruka 100<br />
haruna 89<br />
hinata 74<br />
honoka 44<br />
kanon 65<br />
mana 55<br />
mao 19<br />
nanami 82<br />
runa 32<br />
yuna 95</div>

<p>複数の列をもとにデータを並べ替える</p>

<div class="comm">#　cat list.txt<br />
yuna 5<br />
runa 2<br />
honoka 3<br />
hinata 3<br />
mao 1<br />
haruna 4<br />
kanon 3<br />
mana 3<br />
haruka 5<br />
nanami 4</div>

<p>に対して、<br />
第２フィールドを数値として降順に並べ替え、同じになったものを第１フィールドで並べ替える</p>

<div class="comm">#　sort -k 2,2nr -k 1,1 list.txt<br />
haruka 5<br />
yuna 5<br />
haruna 4<br />
nanami 4<br />
hinata 3<br />
honoka 3<br />
kanon 3<br />
mana 3<br />
runa 2<br />
mao 1</div>
]]></description>
<dc:subject>コマンド・メモ</dc:subject>

<dc:creator>ゆう</dc:creator>
<dc:date>2008-03-13T18:05:16+09:00</dc:date>
</item>
<item rdf:about="http://www.wave440.com/wave_log/archives/2008/03/post_72.html">
<title>テキストファイルの行頭，行末に文字列を追加する</title>
<link>http://www.wave440.com/wave_log/archives/2008/03/post_72.html</link>
<description><![CDATA[<p>行頭に「"」を追加する<br />
<div class="comm">#　sed -i 's/^/"/g' file.txt</div></p>

<p>行末に「"」を追加する<br />
<div class="comm">#　sed -i 's/$/"/g' file.txt</div></p>

<p>文字列「AAAA」を含む行の行頭に「;」を追加する<br />
<div class="comm">#　sed -i '/AAAA/s/^/;/g' file.txt</div><br />
</p>]]></description>
<dc:subject>コマンド・メモ</dc:subject>

<dc:creator>ゆう</dc:creator>
<dc:date>2008-03-03T15:59:24+09:00</dc:date>
</item>
<item rdf:about="http://www.wave440.com/wave_log/archives/2007/04/post_71.html">
<title>テキストファイルの行を削除する</title>
<link>http://www.wave440.com/wave_log/archives/2007/04/post_71.html</link>
<description><![CDATA[<p>45行目を削除する<br />
<div class="comm">#　sed -i '45d' file.txt</div></p>

<p>5行目から20行目までを削除する<br />
<div class="comm">#　sed -i '5,20d' file.txt</div></p>

<p>「pattern」を含む行を削除する<br />
<div class="comm">#　sed -i '/pattern/d' file.txt</div></p>]]></description>
<dc:subject>コマンド・メモ</dc:subject>

<dc:creator>ゆう</dc:creator>
<dc:date>2007-04-29T09:48:40+09:00</dc:date>
</item>
<item rdf:about="http://www.wave440.com/wave_log/archives/2007/04/post_70.html">
<title>テキストファイルの内容を行番号つきで表示する</title>
<link>http://www.wave440.com/wave_log/archives/2007/04/post_70.html</link>
<description><![CDATA[<div class="comm">#　less -N file.txt</div>]]></description>
<dc:subject>コマンド・メモ</dc:subject>

<dc:creator>ゆう</dc:creator>
<dc:date>2007-04-28T20:53:56+09:00</dc:date>
</item>
<item rdf:about="http://www.wave440.com/wave_log/archives/2007/04/post_69.html">
<title>テキストファイルの行数を数える</title>
<link>http://www.wave440.com/wave_log/archives/2007/04/post_69.html</link>
<description><![CDATA[<div class="comm">#　wc file.txt</div>

<p>行数、単語数、バイト数、ファイル名の順に表示される<br />
<div class="comm">#　wc -l file.txt</div></p>

<p>行数、ファイル名が表示される</p>

<p>行数のみ得たい場合は、grep を使う<br />
<div class="comm">#　grep -c '' file.txt</div></p>]]></description>
<dc:subject>コマンド・メモ</dc:subject>

<dc:creator>ゆう</dc:creator>
<dc:date>2007-04-22T09:40:52+09:00</dc:date>
</item>
<item rdf:about="http://www.wave440.com/wave_log/archives/2007/01/post_68.html">
<title>コピペ用メモ</title>
<link>http://www.wave440.com/wave_log/archives/2007/01/post_68.html</link>
<description><![CDATA[<p>いつもコピペを使っていて、いっこうに覚えられないので、使うたびにコピペ元を探しているようなのをまとめてメモっておきます。まったくの個人用です。(^^;<br />
<hr><br />
【HTML】<br />
文字コード（UTF-8）<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;<br />
ファビコン<br />
&lt;link rel="shortcut icon" href="favicon.ico" /&gt;<br />
外部スタイルシート読み込み<br />
&lt;link rel="stylesheet" href="***.css" type="text/css" /&gt;<br />
外部ジャバスクリプト読み込み<br />
&lt;script type="text/javascript" src="***.js"&gt;&lt;/script&gt;<br />
<hr><br />
【スタイルシート】<br />
@cherset "utf-8";<br />
text-align: center;<br />
position:relative; top:**px; left:**px;<br />
font: normal **px sans-serif;<br />
font-size: **px;<br />
font-weight : normal;<br />
color:#******;</p>

<p>.button {width:**px;height:**px;}</p>

<p>.*** a:link {<br />
text-decoration:underline;<br />
color:#******;<br />
}</p>

<p>.*** a:visited {<br />
text-decoration:none;<br />
color:#******;<br />
}</p>

<p>.*** a:hover {</p>

<p>}</p>

<p>.*** a:active {</p>

<p>}</p>]]></description>
<dc:subject>ＰＣ 関連メモ</dc:subject>

<dc:creator>ゆう</dc:creator>
<dc:date>2007-01-12T21:55:21+09:00</dc:date>
</item>
<item rdf:about="http://www.wave440.com/wave_log/archives/2006/11/post_67.html">
<title>ファイルを結合する</title>
<link>http://www.wave440.com/wave_log/archives/2006/11/post_67.html</link>
<description><![CDATA[<div class="comm">#　cat test.aa test.ab test.ac > file.txt</div>

<p>test.aa ＋ test.ab ＋ test.ac の順番に結合される</p>

<p><br />
<div class="comm">#　cat test.* > file.txt</div></p>

<p>ワイルドカードを使うとファイルは昇順に結合される</p>]]></description>
<dc:subject>コマンド・メモ</dc:subject>

<dc:creator>ゆう</dc:creator>
<dc:date>2006-11-30T07:20:34+09:00</dc:date>
</item>
<item rdf:about="http://www.wave440.com/wave_log/archives/2006/11/post_66.html">
<title>ファイルを分割する</title>
<link>http://www.wave440.com/wave_log/archives/2006/11/post_66.html</link>
<description><![CDATA[<p>「file」を8行ごとに分割<br />
<div class="comm">#　split -8 file new_</div>
</p>
<p>
ファイル確認<br />
<div class="comm">#　ls<br />
file　　　new_aa　　　new_ab　　　new_ac</div></p>
<p>
分割されたファイルの前半部分は「new_」となり、その後に「aa」～「ac」が振られていく。</p>]]></description>
<dc:subject>コマンド・メモ</dc:subject>

<dc:creator>ゆう</dc:creator>
<dc:date>2006-11-19T21:13:16+09:00</dc:date>
</item>
<item rdf:about="http://www.wave440.com/wave_log/archives/2006/11/post_65.html">
<title>検索件数を表示するタグ</title>
<link>http://www.wave440.com/wave_log/archives/2006/11/post_65.html</link>
<description><![CDATA[<p>&lt;$MTSearchResultCount$&gt; です。</p>

<p>検索結果の数を表示します。<br />
&lt;MTSearchResults&gt;～&lt;/MTSearchResults&gt; 内で使用します。</p>]]></description>
<dc:subject>MT 3.1 カスタマイズ</dc:subject>

<dc:creator>ゆう</dc:creator>
<dc:date>2006-11-10T11:15:20+09:00</dc:date>
</item>
<item rdf:about="http://www.wave440.com/wave_log/archives/2006/11/post_64.html">
<title>検索結果の表示順を昇順（古い方から順にエントリーを表示）にする</title>
<link>http://www.wave440.com/wave_log/archives/2006/11/post_64.html</link>
<description><![CDATA[<p>Movable Type ディレクトリ（ .cgi スクリプトを格納しているディレクトリ）にある、Movable Type の設定ファイル mt.cfg または mt-config.cgi （Movable Type のバージョンにより異なります）の ResultDisplay を ascend とする。デフォルトでは、</p>

<p># ResultDisplay ascend</p>

<p>と、# でコメントアウトしてあり、デフォルト値： descend（降順：新しい方から順にエントリーが表示）になっている。</p>

<hr>

<p>Movable Type の設定ファイルを編集かぁ。検索画面のテンプレート・ファイル default.tmpl にタグを追加するんじゃないのね、道理でうまくいかなかった訳だ。(^^;<br />
Movable Type の設定ファイルって、インストールした時に CGIPath なんかを指定したファイルですね。<br />
ちなみに、ヘルプから見れるマニュアルに、これ以外にも説明がたくさん載ってますわ。Movable Type 3.2 だと、「Movable Type 3.2 マニュアル」-「付録」-「環境設定ファイル (mt-config.cgi) 」。</p>]]></description>
<dc:subject>MT 3.1 カスタマイズ</dc:subject>

<dc:creator>ゆう</dc:creator>
<dc:date>2006-11-09T21:32:21+09:00</dc:date>
</item>


</rdf:RDF>