2012-05-03 60 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,所以很難提供一個可行的解決方案。你真的需要這個嗎? –