如何重命名编号的文件

问题描述

我有70个shell脚本,分别名为1.man-pages.sh,2.tcl.sh,3.expect.sh等。

我犯了一个错误,需要在数字上加1以重命名这些文件(例如1.man-pages.sh => 2.man-pages.sh,3.tcl.sh 4.expect.sh)

用手分别播放这些内容非常繁琐。有没有人建议重击一线?

解决方法

不是唯一的,而是封闭的……

IFS=$'\n'
for f in $(printf '%s\n' [0-9]* | sort -rnt '.' -k1); do
    mv "$f" "$(( ${f%%.*}+1 )).${f#*.}"
done
,
for file in *.sh; do
  number=$(cut -d '.' -f1 <<< $file)
  name=$(cut -d '.' -f2 <<< $file)
  extensiton=$(cut -d '.' -f3 <<< $file)
  re='^[0-9]+$' 
  if [[ $number =~ $re ]]; then
    mv $file "$(($number + 1)).$name.$extensiton"
  fi
done

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...