xargsでファイルの拡張子を変えつつ連続作業

sedがいまいちかっこわるいが拡張子を除くコマンドとかわからなかった。
echo cpの代わりにffmpeg等を入れればそれだけでフォルダ中のファイルのフォーマット変換はOK

$ ls .
a.a  b.a  c.a  d.a  e.a
$ ls .|sed 's/\..*//'| xargs -i echo cp {}.a {}.b
cp a.a a.b
cp b.a b.b
cp c.a c.b
cp d.a d.b
cp e.a e.b

ちなみにsedじゃなくてbasenameをつかうとこうなる。ということでsedの方がマシ

$ ls .| xargs -i basename {} .a| xargs -i echo cp {}.a {}.b
cp a.a a.b
cp b.a b.b
cp c.a c.b
cp d.a d.b
cp e.a e.b