首页 > 解决方案 > 发现 printf 无法打印换行符或回车

问题描述

我正在制作一个脚本来检查并列出我们工作文件夹中某些文件的输出。我想检查今天(或者我猜是过去 24 小时内)存在的文件。

目前我正在做以下事情:

 find /folder/jobfolder/rrz* -type f -mtime 0

所以我得到这样的东西:

/folder/jobfolder/rrzabc_1234.lis
/folder/jobfolder/rrzdef_4567.lis
/folder/jobfolder/rrzgre_8901.log

理想情况下,我想使用 printf 命令将日期添加到其中,这样我就可以查看它是否是今天并逐行分隔。如果我做

find/folder/jobfolder/rrz* -type f -mtime 0 -printf %p\t%AD\n它不需要使用转义字符。

/folder/jobfolder/rrzabc_1234.lis/folder/jobfolder/rrzdef_4567.lis/folder/jobfolder/rrzgre_8901.log

有没有更好的方法来解决这个问题?也可以-iname用来匹配大写或小写字母可能会有所帮助

标签: linuxbash

解决方案


您缺少引号;尝试

 -printf '%p\t%AD\n'

这样 bash 就不会解释\


推荐阅读