初期desireもち。趣味Mac,メインFedora,仕事xp。テキスト処理/txtWindowsで作ったShift-JISのファイルがある。csvとpyとbatが混在している。これを全部utf-8に変換し、かつファイル名の末尾に_utf8をつけるをコマンド一発でやりたい。ファイル名を文字列「DB」と「.csv」に分割し、拡張子は変数に保持しておく。変換後のファイル名として文字列「DB_utf8」を作りそれに「.csv」を合体する。これを、拡張子「.py」「.bat」についてもやらなければならない。<手順1>まずは1を行う。拡張子だけを取り出す。bashのパラメータ展開機能を使えばよい。donebashのパラメータ展開機能については「シェルスクリプト基本リファレンス」が最高に分かりやすい。すれば「csv」だけを取り出せる。「改訂新版」を使っていたけど最近「改訂第3版」が出たっぽい。拡張子だけ取り出せたのでそれを変数$extに入れる(拡張子→英語でエクステンション→extension→ext)。done次にファイル名だけの取り出しを行う。「DB.csv」から「DB」だけを取り出す。doneこれもbashのパラメータ展開機能だが、シャープ記号ではなパーセント記号を使っている。<手順2>ここまでで、拡張子とファイル名をそれぞれ取り出すことができたので3変換後のファイル名として文字列「DB_utf8」を作りそれに「.csv」を合体する処理を「.py」「.bat」に対して一度にやることができる。doneここまでくれば、あとはnkfコマンドで変換するだけ。して保存してやればよい。