以我/opt/myapp
DIR我有一個遠程的,自動化過程將被丟棄的形式<anything>-<version>.zip
,其中<anything>
可以從字面上是任何字母數字文件名的文件,並且其中<version>
將是一個版本號。所以,這是什麼自動化過程將發表的例子是:擊命令行重命名通配符
fizz-0.1.0.zip
buzz-1.12.35.zip
foo-1.0.0.zip
bar-3.0.9.RC.zip
等。通過這個問題的範圍控制,我是保證只有其中一個ZIP文件將存在/opt/myapp
在任何給定的時間。我需要編寫一個Bash shell命令,它將重命名這些文件並將它們移動到/opt/staging
。對於重命名,ZIP文件需要刪除其版本。所以/opt/myapp/<anything>-<version>.zip
被重新命名並移動到/opt/staging/<anything>.zip
。使用上面的例子:
/opt/myapp/fizz-0.1.0.zip
=>/opt/staging/fizz.zip
/opt/myapp/buzz-1.12.35.zip
=>/opt/staging/buzz.zip
/opt/myapp/foo-1.0.0.zip
=>/opt/staging/foo.zip
/opt/myapp/bar-3.0.9.RC.zip
=>/opt/staging/bar.zip
目錄此舉是明顯和容易的,但重命名讓我把我的頭髮拉出來。我需要以某種方式保存<anything>
,然後在命令中重新訪問它。 該命令必須是通用的,並且不能有任何參數。
我最好的嘗試(它甚至沒有接近工作)至今是:
文件= *拉鍊。文件= ?; mv文件/ opt/staging
有關如何做到這一點的任何想法?
感謝@chepner但**請取消標記爲重複數據刪除!**在該問題的用戶* *知道這個詞的「doc」總是出現在文件名,在這裏我不知道是什麼''是! **這不是同一個問題,需要一個不同的解決方案!**標記適度。 –
smeeb
這是如何使它不同? (建議的副本不再鏈接,因此很難判斷其解決方案是否會工作)。 –