1

私はBASHスクリプティングの最初の学期にいますが、いくつかの問題があります。私はC++やJavaのような他のプログラミングコースを受講しましたが、Bashの構文は私を殺しています。この問題についてアドバイスをお願いします。私は次のことをする必要があります:

  • / var / log/secureファイルから今日のデータを抽出します
  • 'mylogs'というディレクトリがあるかどうかを確認してください
  • そうでない場合は、作成します
  • 'mylogs'ディレクトリに現在の日、月、時間に一致するファイルがすでにあるかどうかを確認します。
  • その場合は、「ファイルが存在し、ログに何も書き込まれていません」という画面にエコーして終了します。存在しない場合は、今日のデータを/ var / log/secureから「mylog-month-day-hour」ファイルに書き込みます。例(2月、午後2時4日)出力:mylog-02-04-14

スクリプトの構文部分についてサポートが必要です。

ありがとう-BASHで役立つウェブサイトもあればいいのですが。

4

2 に答える 2

2
  • /var/log/secure ファイルから今日のデータを抽出します

あなたはこれを行うことができます...

grep "^Feb 24" /var/log/secure
  • 「mylogs」というディレクトリがあるかどうかを確認し、ない場合は作成します

あなたはこれを行うことができます ...

test -d mylogs || mkdir mylogs
  • 現在の日付、月、時間に一致するファイルが「mylogs」ディレクトリに既にあるかどうかを確認してください。(ファイル名の形式が DDMMHH であると仮定します)

    test -e mylogs/`date +%d%m%H` && echo "既にファイルがあります"

  • その場合は、「ファイルが存在します。ログには何も書き込まれません」という画面にエコーして終了します。存在しない場合は、今日のデータを /var/log/secure から「mylog-month-day-hour」ファイルに書き込みます。例 (2 月 4 日午後 2 時) 出力: mylog-02-04-14

ええ、あなたは今までにアイデアを得る必要があります。あなたは今これに取り組むことができると思います ;) 知っておくと便利なコマンドはman -k <keyword>

于 2013-02-25T00:26:30.713 に答える