シェルにて「abc.0101171109(.以降は年月日時分)」
というようなログファイルを一日3回、作成しています。
これを一週間、または一ヶ月たったら
自動的に削除するにはどうすればよいでしょうか。

OSはSolaris2.6で、
シェルはBでもCでも何でもかまいませんのでよろしくお願い致します。

A 回答 (4件)

findで条件を並べて書けばANDになるので-nameでファイルを制限すれば良いのではないでしょうか?



paz777さんの例に追加してます。
find {directory} -name abc.\[0-9\]\* -mtime +7 -exec rm -r {} \;

もちろん-nameあとの部分は希望のファイル名に合わせてください。

FreeBSD 4.2-RELEASEとUnixware7で動作確認してます。
    • good
    • 0

すいません。

再登場です。
h_hikitaさんの回答を見て、自分の回答が
「やばい」ことに気付きました。
σ(^^)の回答をそのまま実行すると、対象とならない
別のファイルまで削除してしまいます。

一応、ディレクトリ内には対象のログファイルしか
ない場合が前提になります。(^^;

すいませんでした。
「自信なし」に変更!!!
    • good
    • 0

こんにちは。


UNIXコマンドのfindで対応できないでしょうか?

find {directory} -mtime +7 -exec rm -r {} \;
こんな形です。(最後の[;]も必要です)
{directory}には、対象ディレクトリを指定して下さい。
[+7]が更新日になります。
1週間であれば[+7]、1ヶ月であれば[+30]ってな感じ
です。

ではでは・・・
    • good
    • 0

GNU Shell utilities のなかにあるdateコマンドをインストールして



find . -not -newer `date '1 month ago' '+abc.%y%m%d0000'` -exec rm {} \; -print

とかではどうでしょうか?

あとは、atかcronでこれを定期的に実行する。

# サブディレクトリがない&同じディレクトリにはログファイル以外のファイルがないというのが前提です。

この回答への補足

すばやい回答ありがとうございます。
せっかくのご回答ですが、
インストールは行うことができないので、
できればインストールを行わずに、
シェルだけで何とかできないでしょうか?

補足日時:2001/01/17 12:55
    • good
    • 0

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qクレジットカードとponta(ローソン)のポイント

航空チケットをコンビニで支払おうか迷っています。

今、楽天カード(クレジットカード)とpontaをもっています。

もし、航空チケット(13万くらい)をローソンで楽天カード(VISA)により

支払った場合(pontaを添えて)は、楽天カード、pontaのそれぞれにポイントはたまるのでしょうか?

Aベストアンサー

Loppiからのチケット類は、Pontaのポイントは付かないですね。

http://www.lawson.co.jp/ponta/static/about/point.html
こちらのポイントが付与されない商品・サービスを参照してください。


ただし、来店ポイントは付くみたいですが。

Qファイル名の一部に年月日が入っているファイルを、指定日以前のもののみ一

ファイル名の一部に年月日が入っているファイルを、指定日以前のもののみ一括削除する方法を教えてください。

上記の目的を果たすためにバッチファイルを作成しようと思っているのですが、当方プログラミング全般に関して全くの素人でして、Web検索で見つけたものを切り貼りして無理やり作ったところ、思うような結果になりませんでした。
(BCPフォルダ直下に当該ファイルを置いた場合削除できたが、サブフォルダのファイルは削除できない)

どうもあと一歩で完成しそうな気がするので、できればこのバッチファイルを元に修正していただけると嬉しいのですが、VBScript等で作成した方が簡単なのであればバッチファイル以外の方法でも構いません。

宜しくお願い致します。


<予め決められているルール(変更は不可)>
(1)2010年9月2日21時21分55秒14に作成されたファイルは、「201009」フォルダ配下に「ABC_DEF_GHI_2010090221215514.txt」と「ABC_DEF_GHI_2010090221215514.log」という名前がつけられる。
(2)1日1回バッチファイルを起動し、指定日以前に作成したファイルを全て削除する。


<作成したバッチファイル(DEL.bat)>
@echo off

cd ..\BCP

REM ---------------
REM 日付のn日前を求める
REM 引数1・・・n(数値)
REM 引数1がないときは1(前日)
REM 引数2・・・YYYY/MM/DD 形式
REM 引数2がないときは本日とする。
REM ---------------

if "%1"=="" (
set n=5
) else (
set n=%1
)

if "%2"=="" (
for /F "tokens=1" %%a in ('date /t') do set orgdate=%%a
) else (
set orgdate=%2
)

:年月日の分割
set yy=%orgdate:~0,4%
set mm=%orgdate:~5,2%
set dd=%orgdate:~8,2%
set count=0

:Repeat

:月日の数値化(8進数対策)
set /a mm=1%mm%-100
set /a dd=1%dd%-100

set /a dd=%dd%-1

if %dd% NEQ 0 goto end

:月跨り処理
set /a mm=%mm%-1
if %mm% EQU 0 set mm=12&&set /a yy=%yy%-1

set /a dd=%dd%+31
if "%mm%"=="2" set /a dd=%dd%-3
if "%mm%"=="4" set /a dd=%dd%-1
if "%mm%"=="6" set /a dd=%dd%-1
if "%mm%"=="9" set /a dd=%dd%-1
if "%mm%"=="11" set /a dd=%dd%-1

:閏年処理
:4で割り切れるか?
set /a u=%yy% %% 4
if not %u%==0 goto end
:100で割り切れて、400で割り切れないか?
set /a u=%yy% %% 400
set /a v=%yy% %% 100
if %v%==0 if not %u%==0 goto end
:2月か?
if %mm% EQU 2 set /a dd=%dd%+1

:END
set mm=0%mm%
set mm=%mm:~-2%

set dd=0%dd%
set dd=%dd:~-2%
set /a count=%count%+1
set DT=ABC_DEF_GHI_%yy%%mm%%dd%

IF %count% NEQ %n% goto Repeat

for %%F in (*.txt *.log) do if %%F LSS %DT% del /s %%F

:EXIT


<フォルダ構造>
添付画像をご参照下さい。

ファイル名の一部に年月日が入っているファイルを、指定日以前のもののみ一括削除する方法を教えてください。

上記の目的を果たすためにバッチファイルを作成しようと思っているのですが、当方プログラミング全般に関して全くの素人でして、Web検索で見つけたものを切り貼りして無理やり作ったところ、思うような結果になりませんでした。
(BCPフォルダ直下に当該ファイルを置いた場合削除できたが、サブフォルダのファイルは削除できない)

どうもあと一歩で完成しそうな気がするので、できればこのバッチファ...続きを読む

Aベストアンサー

こんにちは。

>for %%F in (*.txt *.log) do if %%F LSS %DT% del /s %%F
この1行を、以下のように書き換えました。

for /R .\ %%F in (*.txt *.log) do if %%~nF LEQ %DT%99999999 (del /s %%~nxF)


【ご説明】
・for /R .\ %%F in (*.txt *.log)
/R .\と指定すると、カレントフォルダにあるサブフォルダのファイルも検索されます。
カレントフォルダがBCPなので、BCP以下の年月別のサブフォルダにある*.txt *.logが処理対象になります。


・if %%~nF LEQ %DT%99999999 (del /s %%~nxF)
>2)1日1回バッチファイルを起動し、指定日以前に作成したファイルを全て削除する。
この条件があるので、比較方法をLSS(より小さい)からLEQ(以下)に変更しました。

ファイル名の年月部分と比較する年月の桁を合わせるために、%DT%から%DT%99999999に変更しました。

拡張子を除いたファイル名を使うために、%%Fから%%~nFに変更しました。

パスを除いたファイル名を使うために、%%Fから%%~nxFに変更しました。


よろしくお願いします。

こんにちは。

>for %%F in (*.txt *.log) do if %%F LSS %DT% del /s %%F
この1行を、以下のように書き換えました。

for /R .\ %%F in (*.txt *.log) do if %%~nF LEQ %DT%99999999 (del /s %%~nxF)


【ご説明】
・for /R .\ %%F in (*.txt *.log)
/R .\と指定すると、カレントフォルダにあるサブフォルダのファイルも検索されます。
カレントフォルダがBCPなので、BCP以下の年月別のサブフォルダにある*.txt *.logが処理対象になります。


・if %%~nF LEQ %DT%99999999 (del /s %%~nxF)
>2)1日1回バッチフ...続きを読む

QモバイルPonta クレジットカードみたいなもの?

モバイルPontaってクレジットカードみたいなものでしょうか?
カードで持つか、携帯で持つかの違いだけですか?

Aベストアンサー

違います。
そもそもPontaはポイントサービスなので、クレジットカードとはまったく別物です。
クレジットカードと組み合わされたPontaカードが多いので混同されているのでしょう。

で、モバイルPontaですが、たぶん、カードか携帯かを選ぶのではなく、まずカード会員になり、モバイルとしても使いたい場合に設定するものだと思います。
(単に私がその流れで設定して使用しているので)

私はローソンとケンタッキーだけでしか使ってませんが、モバイルPontaが使えるのはローソンだけで、ケンタッキーではカードを出すしかありません。


使い方の違いは、カードではもちろん、支払いの時に店員にカードを渡します。

モバイルPontaでは、次のようになります。
(1) 「支払いはEdyで」のように、電子マネーで支払う意思を伝える。
(2) おサイフケータイをレジのリーダー部分に置き、レジの画面に表示された電子マネーのアイコン(私の場合はEdy)を選択する。
(3) 支払い完了して渡されたレシートを見ると、下の方に「Ponta会員ID ********」「来店ポイント 1P」「買上ポイント *P」「ポイント残高 ***P」といったPontaポイントが付けられているのが確認できる。

つまり、Pontaカードの存在を意識することなく、おサイフケータイで支払いをすると、勝手にPontaポイントも手続きが済んでいる、ということです。
便利ですよ。

違います。
そもそもPontaはポイントサービスなので、クレジットカードとはまったく別物です。
クレジットカードと組み合わされたPontaカードが多いので混同されているのでしょう。

で、モバイルPontaですが、たぶん、カードか携帯かを選ぶのではなく、まずカード会員になり、モバイルとしても使いたい場合に設定するものだと思います。
(単に私がその流れで設定して使用しているので)

私はローソンとケンタッキーだけでしか使ってませんが、モバイルPontaが使えるのはローソンだけで、ケンタッキーではカード...続きを読む

Qbシェルで実行シェルIDの取得について

bシェルとして作成されているシェルを仮にa.shとします。
echoで、”a.sh 実行開始”のようなメッセージを表示させたいのですが、
シェルID(a.sh)を取得する事は可能でしょうか?

Aベストアンサー

シェルIDというのはプロセス名ということでしょうか。

ずいぶん昔の記憶ですけど...
確か $0 で参照できたと思います。

echo "$0 実行開始 PID:$$"

のようにすれば良かったと思いますけど。記憶違いかも知れない(^^;から実際に試してみてくださいね。

QローソンポイントはPontaへ。ならば、GEOや昭和シェルなどで今まで貯まったポイントは使える。

現在、旧ローソンパスVISAカードを持っています。(JMBではありません)
こちらのポイントが5000ほど貯まっています。

先日、ローソンのポイントはPontaとなりましたが、
このポイントを、ゲオや昭和シェルなどで使用できるのでしょうか?

Aベストアンサー

はい使えます。
ただしレンタルは、会員登録が必要です

QCシェルの制御文について(求むCシェル・マスター)

Cシェルでとある処理をすることになり、参考資料としてスペシャリストな人の
シェルをみせてもらったのですが、ソースを読むこともままなりません(><)

私自身はVisualStudioを使ってCのプログラミングをかなり前にちょろっとやった程度で、
シェルというものをほとんど組んだことがないので、以下の点を教えてください。

if [ほにゃらら]
then
コマンドをぽちっとな
elif [はにゃらら]
then
コマンド2をぽちっとな
else
exit
fi

上記のような制御文を参考資料の中で多数みるのですが、
"elif"と"fi"が、まったく何者かわかりません。
Cシェルやelifなどで、ぐぐってみましたが、わからず
誰か助けてぇ~って感じです。

また、シェルの勉強サイト(C,Tc,B,Bash)のサイトも
ありましたら教えてください。すんませんが、よろしくお願いします。

Aベストアンサー

if [ほにゃらら]      もし [ほにゃらら] なら
then
コマンドをぽちっとな
elif [はにゃらら]     [ほにゃらら]でない時 [はにゃらら]なら
then
コマンド2をぽちっとな
else            [ほにゃらら]でも[はにゃらら]でも無い時
exit
fi             if文の終わりを意味します(ifとついになります)


これで解りますか?

Qクレジットカードのローソンpontaカード

でローソンの店頭で公共料金の支払いはできますか?

Aベストアンサー

できません。公共料金を払えるのは現金だけです
セブンイレブンならnanaco払いは可能です

Qxcode3.2.6がインストールできません

Mac OS X 10.6.8を使用しておりますので
環境自体は問題ないはずなのですが、xcode3.2.6をインストールしようとすると

「インストールに失敗しました。」
「不明なインストールエラーが起きました。
エラーによってインストールに失敗しました。ソフトウェアの製造元に問い合わせてください」

というエラーが出てしまいます。

再起動もしましたし、HD容量も100GB以上ありますので問題はなさそうなのですが、
他に考えられる原因がありましたら教えてください

よろしくお願いします。

Aベストアンサー

新規ですか、アップデートですか?

AppleStoreでXcodeで検索して、そこからインストールすると間違いがないですよ。


...Apple Careに電話ですね。

Q昭和シェル石油でのオイル交換について。

昭和シェル石油でのオイル交換について。


神奈川県の中井町井ノ口( テルモ前 )のシェル石油にて、ブレーキオイルの交換を考えていますが、やって頂けるのでしょうか?

金額もわかれば教えて頂きたく思います。


因みに車は、タントカスタム( L375S )RSです。
宜しくお願い致します。

Aベストアンサー

ガソリンスタンドには整備士はいません
国家整備士うんぬんんってデカデカで宣伝してるところもありますが
ハッキリいってお笑いです
いちいち国家整備士なんて言い方するところが更に・・
整備資格がたまたま国の資格であるだけなのにいかにもって感じで・・

この言い回しをすると調理師も国家調理師・・ 爆笑です

さて、いまどきの車はABSが標準装備であったりします
アンチャンバイトのレベルのスタンド店員に
それらを理解して的確な作業が行えるとは思いません

ワタシがディーラーの整備士だったころ
スタンドでブレーキオイルを交換してから
ABSランプが点灯したとの入庫を数件経験しています
見るとあっちこちブレーキオイルで汚したままで
更に外したと思われる部材がきちんとついてない・・

トラブルの元なのでやめたほうがいいと思います
ブレーキですからね もしものことを考えると・・

QHSP2.6で出来ませんか

HSP2.6で
指定したフォルダの(ドライブの)JPEGとAVI・MPEGファイルをボタン表示し
そこにファイル名と作成日時を表示し
プレビューという名前のフォルダにあるjpegファイルを
同じ名前のjpeg/AVI・MPEG(123ABC_aviがAVIファイル)
それをクリックしたらそのファイルが設定されたプレーヤーに出される(表示される)
スクリプトを作りたいのですが.
できますかね?
書いているH.Pあれば教えてください。
御願いします。
友達にあげる画像を表示するサムネイル表示用です。
後、
HSP本体が無くても再生できますか?

Aベストアンサー

いくつもある同じようなものとは具体的に何ですか?
似たようなスクリプトを改造したいということですか?

どういじったらよいのか分からないようですし、
問題を切り分けて小さなスクリプトから作成するのが現実的ですね。
・フォルダを指定するには?
・JPEGファイルなどを探すには?
・ボタン表示するには?
・ファイルの作成日時を取得するには?
このようなサンプルは多いでしょうし、理解もしやすいでしょう。


人気Q&Aランキング

おすすめ情報