3

シェルスクリプトで既存のファイル名に現在の日時を追加しようとしましたが、コマンドが期待どおりに機能しないことがわかりました。

たとえば、ファイル名がf1.logで、現在の時刻と一緒に追加する必要がある場合です。この追加されたバージョンは、ファイルをさらに処理するために使用する必要があります。

次のスクリプトで試しましたが、エラーが発生します

    now=$(date +"%m-%d-%Y/%T")
    echo hi >>time.log
    mv "time.log" "time.$now.log" (error here : file or directory not found)
    echo hello >> time.log$now   (have to continue processing with new file)
4

2 に答える 2

2

/ファイル名に文字を含めることはできません。このmvコマンドは、日付の出力の分、日、および年で指定されたディレクトリを探し、時刻で指定されたファイルを作成しようとしています。/ファイル名に含めないようにフォーマットを変更するだけです。

于 2012-12-10T20:05:42.273 に答える
0

問題は、シェルのでの解釈に/ありますdate +"%m-%d-%Y/%T"

代わりに変更します(または、将来ファイルの操作を困難にする別のメタ文字で-ない限り、他の何かに変更します)/

于 2012-12-10T20:07:35.583 に答える