我有这样命名的文件:
如何将这些文件重命名为以下名称? (' - '连字符将替换为' _'下划线。)
答案 0 :(得分:0)
试试这个:
mv `ls *-*.txt` `ls *-*.txt | sed 's/-/_/g'`
mv - 重命名文件
ls with wildcard - 将列出所有文件" - "在它中
sed - 将在文件名中搜索 - 并将其替换为_任意数量的出现。
答案 1 :(得分:0)
您可以使用此find
:
find . -type f -name [0-9]*-[0-9]*-[0-9]*.txt -print0 | xargs -0 -I {} bash -c 'f="{}"; echo mv "$f" "${f//-/_}"'