linux shell中“find”命令的“-newer$file”选项是如何工作的?
我有以下linux命令linux shell中“find”命令的“-newer$file”选项是如何工作的?,linux,shell,command,Linux,Shell,Command,我有以下linux命令 find ${MOUNT_POINT} -type f -name "VM*" -newer $SENTFILE -print0 | xargs -0 -i cp {} ${TMP_DIR} 我很难理解选项-更新的$SENTFILE。有人能解释一下这个选项吗?来自man find: 从man find: 如果$SENTFILE用空格展开,则可能会有一些不好的东西需要传递几个参数来查找。我建议像这样引用它 find ${MOUNT_POINT} -type f -nam
find ${MOUNT_POINT} -type f -name "VM*" -newer $SENTFILE -print0 | xargs -0 -i cp {} ${TMP_DIR}
我很难理解选项-更新的$SENTFILE。有人能解释一下这个选项吗?来自man find:
从man find:
如果$SENTFILE用空格展开,则可能会有一些不好的东西需要传递几个参数来查找。我建议像这样引用它
find ${MOUNT_POINT} -type f -name "VM*" -newer "$SENTFILE" -print0 \
否则,-更新的工作方式如下。我猜find使用的是-newer的st_mtime字段
当然,SENTFILE是由调用shell或某些外部脚本设置的。它应该包含某个文件的名称
如果这是某个shell脚本的一部分,请尝试调试该shell脚本,方法可能是
#!/bin/bash -vx
作为其第一行或添加类似的内容
echo SENTFILE is $SENTFILE 2>&1
或者查看,然后查看系统日志文件,可能在/var/log下/
您对基本的shell脚本编写还不够熟悉。因此,请阅读或其他更好的内容。如果$SENTFILE用空格展开,则可能会有一些不好的地方,需要传递几个参数来查找。我建议像这样引用它
find ${MOUNT_POINT} -type f -name "VM*" -newer "$SENTFILE" -print0 \
否则,-更新的工作方式如下。我猜find使用的是-newer的st_mtime字段
当然,SENTFILE是由调用shell或某些外部脚本设置的。它应该包含某个文件的名称
如果这是某个shell脚本的一部分,请尝试调试该shell脚本,方法可能是
#!/bin/bash -vx
作为其第一行或添加类似的内容
echo SENTFILE is $SENTFILE 2>&1
或者查看,然后查看系统日志文件,可能在/var/log下/
您对基本的shell脚本编写还不够熟悉。所以请阅读或其他更好的内容。那么,我应该如何准备$SENTFILE?我的意思是我必须用$SENTFILE记录以前的文件名或文件创建日期?你说的“准备”是什么意思?find命令只返回比变量$SENTFILE中的文件更新的文件。我想知道一点,您的意思是在变量$SENTFILE中会有像2017/07/25这样的旧文件日期吗??否则,它是什么?$SENTFILE是另一个文件。如果find命令找到的文件比$SENTFILE中的文件旧,则不会显示该文件。如果它发现一个文件比$SENTFILE中的文件更新,它将显示它。那么,我应该如何准备$SENTFILE?我的意思是我必须用$SENTFILE记录以前的文件名或文件创建日期?你说的“准备”是什么意思?find命令只返回比变量$SENTFILE中的文件更新的文件。我想知道一点,您的意思是在变量$SENTFILE中会有像2017/07/25这样的旧文件日期吗??否则,它是什么?$SENTFILE是另一个文件。如果find命令找到的文件比$SENTFILE中的文件旧,则不会显示该文件。如果它发现一个文件比$SENTFILE中的文件新,它将显示该文件。