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