[Linux] renameコマンドを使わないファイル名一括変更

# sed mv
#  123-bbb.txt を 123.txt
#  | shを外した状態で変換文字列を確認すること
$ for a in *.txt; do echo $a | sed -e "s/\(\(^.*\)-.*\)/mv \1 \2\.txt/" | sh; done

# find sed mv
#  123-bbb.txt を 123.txt
#  | shを外した状態で変換文字列を確認すること
$ find . -name "*.txt" | sed -e 's/\(\(^.*\)-.*\)/mv \1 \2.txt/' | sh
    OR
$ find . -name "*.txt" | sed -E 's/((^.*)-.*)/mv \1 \2.txt/' | sh