読者です 読者をやめる 読者になる 読者になる

take_87’s blog

AHKの備忘録と日記を書いています。

sedが難しい

linux(RHEL)のcshsedが上手くいかない。。。

Verilog書いてまして、サイズが違うSRAMがいっぱい欲しいから、モジュール名とサイズを引数であげたら、入力のbit幅とかword数とか計算してsedで置き換えてくれるシェルを作ろうと思い立ちました。

⇒ 簡単そう。

 

なぜかsedで置換がうまくいかない。。。

sed -i -e 's/AAA*/BBB_'$2'/g' $1

見たいな感じで書いたと思う。

AAAだけがBBB_$2に書き換わって、正規表現の*がAAAの後ろに一致してくれない。

perlとかpythonとか書けないし、sedも使えなくてへこみました。

 

結局Emacsの置換で対応するんですけど、sedの苦手意識は未だに消えません。

 

行数分だけループを回す

別の話です。

モジュール名にサイズを入れておいて、その数字部分をgrepで取り出してやろうと思いました。

bit幅とword数の2つが取れるんだけど、それを変数に代入したい。でもそれが上手くいきません。。。つらい。

一回ファイルに入れて、行数回ループさせて、変数に入れようと思いました。(そしたら今後数が増えても全部変数に入るし)

それが上手くいかない。。。つらい。

変数の1文字目は英数である必要があります的なわけわからんことを言われました。

 

詰まったときに一緒に考えてくれるシェル芸人がいたらなあ。

新人プログラマー用家庭教師みたいな人いないかなあ。