簡體   English   中英

如何使用bash中程序的輸出重命名文件?

[英]How to rename files with output from program in bash?

我一直在嘗試找到一種簡單的單行解決方案,以其md5哈希值重命名目錄中的所有文件。 我已經考慮過使用find -exec但是我不知道如何將md5sum的結果傳遞給mv。 我試過了

find . -exec md5sum {} | mv {} \;

find . -exec mv {} `md5sum {}`

也許有更好的解決方法? 請為總初學者提供建議。 感謝所有幫助。

您可以重復使用以下答案: 將文件重命名為md5 sum + extension(BASH)

通過稍作修改,它可以完全滿足您的要求(我已經為您編輯了命令):

md5sum * | sed -e 's/\([^ ]*\)  \(.*\)$/mv -v "\2" \1/' | sh

輸出示例:

'a' -> 'b026324c6904b2a9cb4b88d6d61c81d1'
'b' -> '26ab0db90d72e28ad0ba1e22ee510510'
'c' -> '6d7fce9fee471194aa8b5b6e47267f03'

暫無
暫無

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

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