2012-05-03 59 views
1

我有下面的代码:LS通过SFTP在Linux的shell脚本命令错误

files=$(lftp -u mgtwrk35,Unix11! sftp://illin634<<EOF 
cd some_dir 
ls | tail -1 
EOF) 

为什么上面的工作, 的代码,但如果我添加到LS功能-tR喜欢:

ls -tr | tail -1 

它不工作,并给了我一个消息:

ls: invalid option -- t 
ls: invalid option -- r 

预先感谢答案

+1

lftp中的'ls'不支持'-t'和'-s'参数。 – Nadh

回答

1

lftp中的ls不是真正的东西。它也被命名为“ls”,但不支持您可以在标准ls中找到的所有参数。

  • find让你递归地列出文件。
  • cls --sort=date让你按修改日期排序。

我不知道如何将两者结合起来。有一个work-around mentioned by Nicolas Noble,即使用awk后处理find的结果。

+0

嗨,你能解释一下你上面提到的方式吗? – Rob

+0

找到给你“ls -r”。然后可以做'find |无论什么和什么都可以根据一些标准重新排序这些文件,例如。看着'cls --sort = date'的值。我不知道awk,所以很难提供一个可行的解决方案。你真的需要这个吗? –