Unix 用于排序的Shell脚本&;基于日期的mv文件

Unix 用于排序的Shell脚本&;基于日期的mv文件,unix,scripting,programming-languages,Unix,Scripting,Programming Languages,我是unix新手,我已经搜索了很多信息,但仍然不知道如何在bash中进行搜索 我所知道的是使用这个命令ls-tr | xargs-i ksh-c“mv{}../tmp/”逐个文件移动文件 现在我需要制作一个脚本,按照系统日期对所有这些文件进行排序,并将它们移动到一个目录中,移动前1000个最旧的文件 示例文件如下所示 KPK.AWQ07102011.66.6708.01 KPK.AWQ07102011.68.6708.01 KPK.EER07102011.561.8312.13 KPK.WWS0

我是unix新手,我已经搜索了很多信息,但仍然不知道如何在bash中进行搜索

我所知道的是使用这个命令ls-tr | xargs-i ksh-c“mv{}../tmp/”逐个文件移动文件

现在我需要制作一个脚本,按照系统日期对所有这些文件进行排序,并将它们移动到一个目录中,移动前1000个最旧的文件

示例文件如下所示

KPK.AWQ07102011.66.6708.01

KPK.AWQ07102011.68.6708.01

KPK.EER07102011.561.8312.13

KPK.WWS07102011.806.3287.13

-----------这是我创建的脚本-------


此脚本的问题是
1) unix提示语法错误“if”
2) move命令正在工作,但它会创建一个新的文件名testfolder,而不是移动到目录testfolder(testfolder已在此路径中创建)

谁能帮我一把?谢谢

这有帮助吗

mv `ls -tr|head -1000` ../tmp/
head-n
获取上一个命令的前n行(这里是1000个最早的文件)。反勾号允许将
ls
head
命令的结果用作
mv

的参数,这有帮助吗

mv `ls -tr|head -1000` ../tmp/

head-n
获取上一个命令的前n行(这里是1000个最早的文件)。反勾号允许将
ls
head
命令的结果用作
mv

的参数“按日期排序”是什么意思?根据日期将它们排序到不同的目录中?你说的“按日期排序”是什么意思?根据日期将它们分类到不同的目录中?谢谢你的回复..我需要把它放在一个.sh文件中..你能帮我找出我脚本上的错误吗..谢谢你没有遗漏一个;在第一行<代码>如果[!-d/app/RAID/Source_Files/test/testfolder];然后我会尝试我上面的建议,我不知道你为什么需要xargs。谢谢你的回复。我需要把它放在一个.sh文件中。你能帮我找出我脚本上的错误是什么吗。谢谢你没有遗漏一个;在第一行<代码>如果[!-d/app/RAID/Source_Files/test/testfolder];然后我会尝试上面的建议,我不知道你为什么需要xargs。