.htmlをまとめて.txtにするLinuxのコマンド

u@u-PC ~/0119
$ ls
A.html B.html C.html
u@u-PC ~/0119
$ ls -d *.html | sed 's/\(.*\).html$/mv "&" "\1.txt"/'|sh
u@u-PC ~/0119
$ ls
A.txt B.txt C.txt
u@u-PC ~/0119$ lsA.html B.html C.html
u@u-PC ~/0119$ ls -d *.html | sed 's/\(.*\).html$/mv "&" "\1.txt"/'|sh
u@u-PC ~/0119$ lsA.txt B.txt C.txt


補足説明

$ ls -d *.html | sed 's/\(.*\).html$/mv "&" "\1.txt"/'|sh



&っつうのはpattern space 、つまり\(.*\).html$のこと

sedによって

mv " A.html" "A.txt"

mv "B.html " "B.txt"

mv "C.html" "C.txt"

って文が出力されて、それを最後の|shで実行するのである。