1

これを行う最初の試みを台無しにしたおかげで、次のように名前が付けられたファイルでいっぱいのディレクトリができました。

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)

4

4 に答える 4

3
for file in *; do mv "$file" "${file/.*./.}"; done
于 2012-11-05T07:33:34.683 に答える
2

これはあなたを助けるかもしれません

#!/bin/bash
for filename in *
do
    x=`echo $filename | sed 's/\..*\./\./g'`
    mv $filename $x
done

これを rename.sh というファイルに保存します。

chmod +x rename.sh
./rename.sh
于 2012-11-05T07:26:30.653 に答える
0
ls -1 *.txt.mtxt.md.md.txt.mtxt.md.md.md | nawk -F"." '{cmd="mv "$0" "$1".md";system(cmd)}'
于 2012-11-05T07:25:49.870 に答える