[英]Batch rename files with regex not working
我在 linux 服務器上有很多文件具有這種格式text_text_mixturelettersnumbers.file
例如Hesperocyparis_goveniana_E00196073A.bam.bai
或Hesperocyparis_forbesii_RBGEH19_bwa_out.txt
。 我想將第一個下划線更改為連字符並保留其他所有內容,因此它看起來像這個text-text_mixturelettersnumbers.file
。
我試過rename -n 's/(\\w+)_(\\w+_.)/$1-$2/' *
及其許多不同的版本,但什么也沒發生。 有人可以指出我有什么問題嗎?
謝謝
馬庫斯
util-linux
重命名沒有僅顯示結果的選項。 這是非常基本的。
如果要列出擴展名前包含兩個下划線的文件,請使用
for f in *_*_*.*; do
echo "$f => ${f/_/-}";
done
要實際重命名,請使用mv
:
for f in *_*_*.*; do
mv -- "$f" "${f/_/-}";
done
"${f/_/-}"
將第一個_
替換為-
在變量f
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.