>myLog.log 效果很好,但我想将系统日-6ren">
gpt4 book ai didi

linux - 不要在日志中打印

转载 作者:太空宇宙 更新时间:2023-11-04 09:02:12 25 4
gpt4 key购买 nike

我需要在文件中打印文件树中的一些信息。我需要列出每个扩展名为 .rns 的文件。

我试试这个:

find ./ -name "*.rns" -print>>myLog.log

效果很好,但我想将系统日期放在日志中每一行之前。像这样:

2013-10-02 14:02 - /volume1/file_1.rns

我尝试了这个但不起作用:

FECHA=`date '+%Y-%m-%d %H:%M'`
VAR_FILE_INFO="$FECHA + `find ./ -name "*.rns"` "
echo "$VAR_PRUEBA"

该代码返回:

2013-10-02 14:02 - /volume1/file_1.rns
/volume1/file_2.rns
/volume1/file_3.rns
/volume1/file_3.rns

日期只打印一次。

最佳答案

这个呢?

find ./ -name "*.rns" -printf "$FECHA %p\n" >> myLog.log

%p 指的是文件名,$FEC​​HA 是你刚刚存储的值。最后的\n是换行(否则所有结果都会出现在同一行)。

测试

$ FECHA=`date '+%Y-%m-%d %H:%M'`
$ find t/ -printf "$FECHA %p\n" >> mylog.log
$ cat mylog.log
2013-10-02 14:27 t/
2013-10-02 14:27 t/myfile
2013-10-02 14:27 t/mydir
2013-10-02 14:27 t/mydir/something

It seem does not work. Maybe is because i'm testing in Unix not Linux find: bad option -printf

那么你可以按如下方式进行:

for file in $(find ./ -name "*.rns")
do
echo "$FECHA $file" >> myLog.log
done

或者,更好的是:

while read -r file;
do
echo "$FECHA $file" >> myLog.log
done < <(find ./ -name "*.rns")

关于linux - 不要在日志中打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19136764/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com