私はUNIX(Linux)では、3つのエディタを状況に応じて使い分けているので、その応用例を一つ。
a01.FIT, a02.FIT, a03.FIT, ..., a99.FITを
a01.fits, a02.fits, a03.fits, ..., a99.fits
に名前を変えたいとき、つまり
mv a01.FIT a01.fitsを沢山したい場合には以下のようにしています。
(たぶんもっと良い方法があるんだろうけれど...)
(1) まず、\ls *.FIT > lst でファイル名のリストを作る。
\lsにしているのは、lsにaliasがかかっていて余計なコードが入るのを防ぐため
(2) 次に、neditでファイルlstを開き、ファイル名を2列にする。
(a) まず、Ctrlキーを押しながらドラッグして、ファイル名を含む矩形領域を選択し、Ctrl+Cでコピーする
(b) 次に、1行目の後に少し空白を入力してから、その後にCtrl+Shift+Vで先の矩形領域を貼り付ける。
これで、ファイル名が2列になったので、Ctrl+Sで保存してからneditを閉じる
(3) 今度は修正済みのファイルをviで開き、さらに修正する
(a) :1,$s/a/mv a/ で、各行の先頭にmvを加える
(b) :1,$s/FIT/zzz/等として、各行最初のFITをzzz等の出てこない文字列に変換
(c) :1,$s/FIT/fits/等で2つ目のFITをfitsに変換
(d) :1,$s/zzz/FIT/等で、最初のFITを回復
(e) :wqでviを閉じる
(4) 各行が思い通りに変更されたのを確認してから
sh lst として、名前の変更を実行する。
たぶん、sedなんかを使うともう少しスマートにできそうな気もするが、私はいつもこの手で...
とにかく、文字列変換は、vi又はemacsのreplace-stringを使うけれど、矩形領域のコピーペーストは、私にとっては、これが一番楽チン。
a01.FIT, a02.FIT, a03.FIT, ..., a99.FITを
a01.fits, a02.fits, a03.fits, ..., a99.fits
に名前を変えたいとき、つまり
mv a01.FIT a01.fitsを沢山したい場合には以下のようにしています。
(たぶんもっと良い方法があるんだろうけれど...)
(1) まず、\ls *.FIT > lst でファイル名のリストを作る。
\lsにしているのは、lsにaliasがかかっていて余計なコードが入るのを防ぐため
(2) 次に、neditでファイルlstを開き、ファイル名を2列にする。
(a) まず、Ctrlキーを押しながらドラッグして、ファイル名を含む矩形領域を選択し、Ctrl+Cでコピーする
(b) 次に、1行目の後に少し空白を入力してから、その後にCtrl+Shift+Vで先の矩形領域を貼り付ける。
これで、ファイル名が2列になったので、Ctrl+Sで保存してからneditを閉じる
(3) 今度は修正済みのファイルをviで開き、さらに修正する
(a) :1,$s/a/mv a/ で、各行の先頭にmvを加える
(b) :1,$s/FIT/zzz/等として、各行最初のFITをzzz等の出てこない文字列に変換
(c) :1,$s/FIT/fits/等で2つ目のFITをfitsに変換
(d) :1,$s/zzz/FIT/等で、最初のFITを回復
(e) :wqでviを閉じる
(4) 各行が思い通りに変更されたのを確認してから
sh lst として、名前の変更を実行する。
たぶん、sedなんかを使うともう少しスマートにできそうな気もするが、私はいつもこの手で...
とにかく、文字列変換は、vi又はemacsのreplace-stringを使うけれど、矩形領域のコピーペーストは、私にとっては、これが一番楽チン。
※コメント投稿者のブログIDはブログ作成者のみに通知されます