簡體   English   中英

使用 util-linux 重命名命令

[英]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.

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