簡體   English   中英

如何通過ftp連接獲取比Linux命令行(bash)中指定的文本字母數字大的文件列表?

[英]How to get list of files alphanumerically greater than text specified in Linux command line (bash) via ftp connection?

我有新工作,而不是在Windows上設計和解決C ++體系結構中的復雜問題,我不得不在Linux上使用bash腳本解決問題。 我忘記了bash命令,並且從未編寫過任何.sh腳本。 因此,現在我正在運行環境,並且通過ftp連接到了遠程文件夾。 我的簡單問題如下:有一些文件,例如batch_something20160818012830,batch_something20160818012925,batch_something20160818013100,..,文件名的末尾是日期時間,例如batch_something20160818012830的日期為8.18.2016,時間為1:28:30,所有文件名都具有相同的名稱長度,並且我需要使所有文件名的總和大於某個日期時間,例如,我要大於8.18.2016 1:29:30,所以我創建文本batch_something20160818012930,我想將此文本與文件名進行比較,並得到大於它的文件名,因此從上面的3中的batch_something20160818012925和batch_something20160818013100,該怎么辦? 我需要它可以通過ftp正常工作,所以我找到了ls和dir命令,並且會有很多文件,因此,如果可能的話,我只想接收最終文件名而不發送遠程內部所有文件的列表夾。

也許ls / dir --ignore = PATTERN或以某種方式將ls / dir與正則表達式一起使用?

編輯:我已經通過ftp -i localhost連接了,文件的數量可能很大,所以我認為使用管道在命令之間發送一些半結果是不好的,我更喜歡使用1命令來完成它的工作擁有。

lftp "-e cls -1 --sort name; quit" ftp://ftp.kernel.org:/pub/linux/kernel/v4.x|sed -n '/patch-4.5.xz/,$p'

使用lftp登錄到ftp,按字母順序獲取列表( --sort ),退出; 然后將其通過管道傳輸到sed,從而在匹配patch-4.5.xz之前剪切標題行,因此您會在stdout上獲得按字母順序排列的較大文件列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM