1

検索したい一連のディレクトリがあります。

/home/*/Documents/Crashes

プルしようとしているファイルの形式は次のとおりです。

A.log.20121022T160949Z、最初のいくつかの数字は日付です (ここでは 2012/10/22)。

ユーザー名を含むテキスト ファイルを $line として読み込んでいます。

現在の日付からファイルを取得したいだけです。私はもう試した:

D= date +%Y%m%d%t
cp -ru /home/$line/Documents/Crashes/A.log.$D* /home/$USER/Documents/Todayslogs

そしてそれはすべてを引っ張ります。また、運が悪いと検索しようとしました...

私は何を間違っていますか?

4

2 に答える 2

1

次のように変更します。

D=$(date +%Y%m%d%t)

構文は$(...)「コマンド置換」です。この例では、stdout に出力されたものをすべて取得しdate +%Y%m%d%t、 に保存しDます。(注: 明示的に ! を追加しない限り、コマンド置換には stderr 出力は含まれません2>&1)

実行D= date +%Y%m%d%tすると、日付情報が必要に応じて保存されずに標準出力に出力されDます。

于 2012-10-26T18:13:08.060 に答える
1

変数を設定したことはDなく、date コマンドを実行しただけです。

$ D= date +%Y%m%d%t
20121026
$ echo $D
<... nadda ...>

代わりに次のようにします。

$ D=$(date +%Y%m%d%t)
$ echo $D
20121026
于 2012-10-26T18:14:13.777 に答える