![](/img/trans.png)
[英]How to capture the output of sftp ls command from an SFTP server using expect?
[英]Getting the timestamp of a file from a SFTP server using ls
我目前正在編寫一個 Powershell 腳本,它檢索 SFTP 服務器上目錄中所有文件的時間戳並將其寫入文件。 我正在使用 cygwin 附帶的sftp
實用程序連接到服務器。
我遇到的問題是ls
命令沒有在時間戳中顯示年份。 這是輸出的示例:
sftp> ls -lt
-rw-r--r-- 1 9665 9665 358 Mar 13 10:05 file.txt
-rw-r--r-- 1 9665 9665 217 Mar 13 10:00 file2.txt
我似乎無法訪問任何強制ls
顯示常規ls
命令年份的標志。 這些是我可以通過以下方式獲得的選項:
ls [-1aflnrSt] [path] Display remote directory listing
我也嘗試過使用psftp
並且它提供了沒有年份的相同格式。
我的問題是如何確保年份顯示在日期中? 這將是理想的解決方案。 但是,如果無法顯示,是否可以簡單地假設該文件來自當前年份,並且前幾年的任何文件都將具體指定年份? 這是ls
對 sftp 的默認行為嗎?
這樣做的方法: I. 您可以解析字符串中的日期並嘗試連續查找 4 個數字。 還要添加對包含“19”、“20”或 $targetYear 的檢查。
二、 您也可以使用“ls -l --full-time”命令顯示年份。
三、 最后,在我使用的遠程 Linux 服務器中處理文件的實踐中:
卸載目錄“Remove-PSDrive -Name $diskLiteral -Force -PSProvider FileSystem”。
第二步,您可以根據需要添加任何排序,選擇有關文件和格式表的任何信息(如果它是數據表示的必要表格形式)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.