[英]Using util-linux rename command
我一直在嘗試使用 util-linux 版本的 rename (2011) 將所有文件中的特定字符串替換為另一個。 雖然我意識到重命名的 perl 版本會提供一個解決方案,但我不知道如何使用這個版本的重命名。
具體示例是一組文件(something--2013.mkv,somethingelse--2011.mkv),我正在嘗試刪除雙破折號並替換為空格。
問題是rename
使用getopt
進行參數解析,因此對雙破折號 ( --
) 有特殊解釋。 --
表示參數結束。
一個解決方案是避免在您的命令中使用--
。 一種方法是將您的命令分解為子目標,例如將單個破折號轉換為下划線,然后將兩個下划線轉換為單個破折號:
$ rename - _ *.mkv
$ rename __ - *.mkv
一種不太迂回的方法是實際使用getopt
行為
$ rename -- -- - *.mkv
mkdir TEMP
numbers=2011
find . -name "*.mkv" | while read filename
do
echo mv "$filename" "TEMP/somethingelse_"$((numbers++)).mkv
rm filename
done
來自 util-linux 的重命名在 Ubuntu 中的/usr/bin/rename.ul
中。 所以你可以使用rename.ul
命令。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.