查找并复制最近添加到具有特定格式的目录的两个文件
Find and copy the two most recent files added to a directory with a specific format
我目前正在编写一个 ksh 脚本,每 5 分钟 运行。我想 select 目录 中最近添加的两个具有特定格式的文件。文件格式应为:OUS_*_*_*.html
。然后应将文件复制到目标目录。
我想我可以使用 find,但我使用的是 HP-UX,它不支持 -amin
、-cmin
、-mmin
选项。有谁知道我怎样才能实现这个功能?
编辑 1: 我发现了以下命令,每个命令都应该是 return 单个最新文件,但在使用中列出了多个文件:
ls -Art | tail -n 1
ls -t | head -n1
编辑 2: 我可以看到这些命令的功能应该如何工作,但是 ls -t
以 table 格式列出文件,并且 selecting 第一行实际上 select 是三个独立的文件名。我尝试使用 ls -lt
,但现在第一行是字符串 total 112
,后跟文件名及其访问权限、时间戳等。
编辑 3: 我发现 -1
(数字 1,而不是 l)选项提供了一个仅包含文件名的列表。使用命令 ls -1t | head -n 2
我能够列出两个最新的文件。
问: 是否可以限制 ls
命令只查找具有上述格式的文件?
我能够使用此代码块列出最近添加到符合特定格式的目录的文件:
ls -1t $fileNameFormat | head -n 2
我目前正在编写一个 ksh 脚本,每 5 分钟 运行。我想 select 目录 中最近添加的两个具有特定格式的文件。文件格式应为:OUS_*_*_*.html
。然后应将文件复制到目标目录。
我想我可以使用 find,但我使用的是 HP-UX,它不支持 -amin
、-cmin
、-mmin
选项。有谁知道我怎样才能实现这个功能?
编辑 1: 我发现了以下命令,每个命令都应该是 return 单个最新文件,但在使用中列出了多个文件:
ls -Art | tail -n 1
ls -t | head -n1
编辑 2: 我可以看到这些命令的功能应该如何工作,但是 ls -t
以 table 格式列出文件,并且 selecting 第一行实际上 select 是三个独立的文件名。我尝试使用 ls -lt
,但现在第一行是字符串 total 112
,后跟文件名及其访问权限、时间戳等。
编辑 3: 我发现 -1
(数字 1,而不是 l)选项提供了一个仅包含文件名的列表。使用命令 ls -1t | head -n 2
我能够列出两个最新的文件。
问: 是否可以限制 ls
命令只查找具有上述格式的文件?
我能够使用此代码块列出最近添加到符合特定格式的目录的文件:
ls -1t $fileNameFormat | head -n 2