You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需脚本仅用CLI按创建日期移动指定TXT文件及报错解决

问题分析与解决

错误原因

你执行的命令报错,翻译后的提示为:mv: 无效选项 -- 'r'。
问题出在ls -l的输出包含文件权限、所有者等冗余信息(比如开头的-rw-r--r--),xargs会把这些内容全部传给mv,导致mv误将权限字段里的r当成了命令选项,从而触发错误。

可行解决方案

方案一:修正原命令(适合文件名无空格的场景)

通过awk提取ls -l输出中的纯文件名,再传给mv:

ls -l | grep "Dec 20" | awk '{print $9}' | xargs mv -t /directory1/dataframes/subset1

注意:如果文件名包含空格或特殊字符,这个方案会失效。

方案二:用find命令(推荐,适配所有文件名)

find命令能精准按时间筛选文件,且天然支持带空格的文件名,示例命令(筛选12月20日创建的TXT文件):

find . -type f -name "*.txt" -newerct "2023-12-20 00:00:00" ! -newerct "2023-12-21 00:00:00" -exec mv -t /directory1/dataframes/subset1 {} +

参数说明:

  • -type f:仅查找文件(排除目录)
  • -name "*.txt":只筛选TXT格式文件
  • -newerct "日期":筛选比指定时间新的文件,结合! -newerct可精准锁定12月20日当天的文件
  • -exec mv ... {} +:批量传递找到的文件给mv,避免xargs的参数解析问题

内容的提问来源于stack exchange,提问作者Rob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 00:10:20