プロが教えるわが家の防犯対策術!

あるアカウントの maillog を、日付指定して取り出したいんだけど、
以下に何を付け足したりすればいいかわかりません。
そもそも(パイプで?)付け足せば済むことなのかもわかりませんし。。。

grep imap /var/log/maillog | grep アカウント

日付の正しい記述も判らないです。
正しいコマンドや便利な抽出方法があれば教えていただけますでしょうか。

A 回答 (3件)

やり方は人それぞれに色々あると思いますが一例として


e.g. 「3/2」の「あるアカウント」さんを含む行を maillog から抽出

egrep '^Mar[ ]+2' /var/log/maillog | grep 'あるアカウント'  や
awk 'BEGIN{ORS="\n\n"}/^Mar[ ]+2/ && /あるアカウント/' /var/log/maillog  など
    • good
    • 0

>ls -al | grep Jan | grep 26


>としますと、ターミナルに何も帰ってきません。
>ls -al | grep Jan
>では当然問題ないです。

ls -al | grep Jan の出力結果に 26 が含まれなければ何も出ません。

>日付を指定するフォーマットって有るのでしょうか?

grep は、指定した文字列(正確には正規表現ですが)を含む行を抽出するコマンドです。ですから、
less /var/log/maillog
でログを表示させてみて、自分が抽出したい文字列を決めてそれを指定すればいいです。
grep はそれが日付だとかユーザ名だとかは認識せず単に文字列として扱います。
    • good
    • 0

パイプでどんどん付け足していって問題ないですよ。



たとえば ls -al | grep Jan | grep rwx | grep 26
であれば、ls -al コマンドの結果から Jan が含まれていて
rwx という文字列が含まれていて、 25 という文字列が
含まれている行を取り出してくれます。

試行錯誤しながらやれば、だいたいコツがつかめますよ。

この回答への補足

ご回答ありがとうございます。

こちらの設定の問題なのかも知れませんが、仮に
ls -al | grep Jan | grep 26
としますと、ターミナルに何も帰ってきません。
ls -al | grep Jan
では当然問題ないです。
日付を指定するフォーマットって有るのでしょうか?
YYYY/MM/DD や DD/MM/YYYY でもだめでした。

あと、非常に一歩的なお願いなので申し訳ないのですが、
maillog の中身を表示させる方向性でコマンドを教えていただけると助かります。
当方あまり詳しくないので、見当違いなお願いでしたらごめんなさい。

補足日時:2007/03/02 12:31
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています