多亏了我第一次尝试执行此操作的尝试,我现在有一个目录,其中包含现在命名的文件:
valery-special-music-poetry.txt.mtxt.md.md.txt.mtxt.md.md.md
我需要命名:
valery-special-music-poetry.md
我该如何从命令行进行此操作?
我正在运行:gnu bash,版本3.2.48(1)-Release(x86_64-apple-darwin12)
for file in *; do mv "$file" "${file/.*./.}"; done
shell本身:
for i in *; do mv "$i" "${i%%.*}.${i##*.}"; done
除非您的DIR是单一级别,建议您使用apple。
这可能会帮助您
#!/bin/bash
for filename in *
do
x=`echo $filename | sed 's/..*././g'`
mv $filename $x
done
将其保存到名为Rename.sh
的文件中chmod +x rename.sh
./rename.sh
ls -1 *.txt.mtxt.md.md.txt.mtxt.md.md.md | nawk -F"." '{cmd="mv "$0" "$1".md";system(cmd)}'