0
tail /mnt/mysqld_log/mysql_error_log.err  | grep -e `date +'%y%m%d' --date='4 hour ago'` | more

120824 11:25:06 [ERROR] /usr/libexec/mysqld: Table '.zone_assoc' is marked as crashed and should be repaired
120824 18:03:23 [ERROR] /usr/libexec/mysqld: Incorrect key file for table '.ad_zone_assoc.MYI'; try to repair it
120824 18:08:38 [ERROR] /usr/libexec/mysqld: Incorrect key file for table '.ad_zone_assoc.MYI'; try to repair it

上記は期待どおりに機能し、今日の日付の結果を示しています。しかし、以下は機能しません。

tail /mnt/mysqld_log/mysql_error_log.err  | grep -e `date +'%y%m%d %k' --date='4 hour ago'` | more

grep: 18: No such file or directory

私はスペースから逃げようとしましたが、それもうまくいきませんでした。

tail /mnt/mysqld_log/mysql_error_log.err  | grep -e `date +'%y%m%d\ %k' --date='4 hour ago'` | more

grep: Trailing backslash
4

1 に答える 1

2

dateコマンドを引用符で囲む必要があります。

tail /mnt/mysqld_log/mysql_error_log.err  | grep -e "`date +'%y%m%d %k' --date='4 hour ago'`" | more

スペースは、引用符で囲むことにより、読み込もうとしているファイルとして解釈されますが、これは起こりません。

于 2012-08-24T17:01:05.273 に答える