2011/08/07
sedと言うコマンドがあります
このコマンドはファイルを読み込んで文字列の変換をしてくれます
【例】
ファイル名称 test
%
G90G00G54
Z100.
X0Y0
G43.1Z#1H01
M03S4000
.
.
このNCデータのG54をG55に変更したい場合
sed "s/G54/G55/" test > test2
これでtest2にG55に変更されたNCデータが出来ます
(注1)sedは基本的に(書き込み出来るオプションも有りますが)読み込んだ(編集元)ファイルには変更を加えませんのでリダイレクト(>)して別ファイルに吐き出します
(注2)sedは置換する文字にマッチングすれば、全て書き換えてしまいます!意図しない文字が書き換えられる可能性もありますので注意が必要です
ファイルが1本でしたら、メモ帳でファイルを開いて編集して。。。でも何とかなりますが
ファイルの本数が多くなると編集も大変です

ファイルを開かないで編集が出来るので作業時間の短縮になります
先ほどのNCデータの回転数を書き換える場合も
【例2】
sed "s/S4000/S5000/" test > test3
例1と例2を一緒に
【例3】
sed -e "s/S4000/S1000/" -e "s/G54/G55/" test > test4
sedはさらに正規表現が扱えますので(これを考えるのが楽しい!)先ほどの意図しない文字にマッチングしてしまう場合正規表現を工夫する事で回避する事も出来ます
詳しくは
こちら例文は
こちらバイブルは
こちらsedのダウンロードは
こちら※画面が開いて何もせずにしばらくするとダウンロード画面が開きます
sedの.exeをインストール後にシステム環境変数に下記を追加します
変数名 path
変数値 C:\Program Files\GnuWin32\bin (システムの環境によりディレクトリが異なります、binのディレクトリのパスを通して下さい)
コマンドプロンプト(dos窓)でsedと打ち込んで下記の文字が表示されればインストール完了です

使用法: sed [オプション]... {スクリプト(他になければ)} [入力ファイル]...
-n, --quiet, --silent
suppress automatic printing of pattern space
-e スクリプト, --expression=スクリプト
実行するコマンドとしてスクリプトを追加
-f スクリプト・ファイル, --file=スクリプト・ファイル
実行するコマンドとしてスクリプト・ファイルの内容を追加
-i[接尾辞], --in-place[=接尾辞]
ファイルをその場で編集 (拡張子があれば、バックアップを作
-b, --binary
open files in binary mode (CR+LFs are not processed spe
-c, --copy
use copy instead of rename when shuffling files in -i m
(avoids change of input file ownership)
-l N, --line-length=N
「l」コマンド用の行折返し長を指定
--posix
GNU拡張を全部禁止。
-r, --regexp-extended
スクリプトで拡張正規表現を使用。
-s, --separate
ファイルを一連の入力にせず、別々に処理。
-u, --unbuffered
入力ファイルから極小のデータを取り込み、
ちょくちょく出力バッファーに掃出し
--help この説明を表示して終了
--version バージョン情報を表示して終了
-e、--expression、-f、--fileオプションのどれもないと、オプション以外の
最初の引数をsedスクリプトとして解釈します。残りの引数は全部、入力ファ
イル名となります。入力ファイルの指定がないと、標準入力を読み込みます。
GNU sed home page:
.
General help using GNU software:
.