お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2013-01-29 19:44:26

shingen
メンバ
登録日: 2012-08-20

設定ファイル(テキスト)内の文字置換について教えてください。

Ubuntu12。04とウインドウズXPを併用しています。
カシミール3Dを使っているのですが、XPでも、Ubuntuでも使いたいと思い、都度設定ファイルを書き換えて使おうとしています。
キャッシュ等をどちらでも使いたいからです。

XPとUbuntuでは、mediaの記述方法が違うため、書き直す必要があります。

ファイルの中の文字列
H:\Kashmir\を Z:\media\IO640GB\Kashmir\ に変えたい。
変えるファイルは Mapset.ini

そこでコマンドを調べ、sedがあるのを知り、
sed -i -e s/H:\/Z:\media\IO640GB\/g /media/IO640GB/Kashmir/Mapset.ini
として実行したところ、
H:\がZ:mediaIO640GBとなってしまい \ が入りません。
色々調べ、\の前に\を入れたりしたのですが、変わりません。

どうしたらうまく書き換えられるのか教えてください。
エディターを使って簡単に書き換えられますが、将来は、起動時に自動的に書き換え、
終了時に自動的にXPで使えるように書き換えるようにしたいので、端末での作業にこだわっています。
よろしくお願いします。

オフライン

 

#2 2013-01-29 20:19:16

epii
メンバ
登録日: 2008-12-11

Re: 設定ファイル(テキスト)内の文字置換について教えてください。

バックスラッシュは四個です。
(シェルが \\ をバックスラッシュでクォートされた \ に認識し sed に渡す (\\\\ → \\) 、sed は \\ を一つの \ と認識する (\\ → \) ため)

ちなみに Wine をお使いですよね?

すこし質問の意図とは逸れてしまいますが、もう少し安直な解決方法があります。
1. Configure wine (winecfg) を開く
2. 「ドライブ」タブから H ドライブを新規に割り当て、/media/IO640GB をポイントする

もしくは、シンボリックリンクを作ってしまうのも一つの手かと思います。

オフライン

 

#3 2013-01-29 21:12:20

shingen
メンバ
登録日: 2012-08-20

Re: 設定ファイル(テキスト)内の文字置換について教えてください。

epiiさん、ありがとうございます。
うまく書き換えることができました。

しかし、付随したことも書いておいてよかった。
そんなに簡単な方法があるとは思いも寄りませんでした。
wineを使っていても、ほとんどwineのことを知らない初心者です。
起動用のスクリプトファイルを作成するまで、初心者では大変と思っていましたが、
教えていただいた別の方法をとることにします。

どうも有難うございました。

オフライン

 

#4 2013-01-29 22:09:43

shingen
メンバ
登録日: 2012-08-20

Re: 設定ファイル(テキスト)内の文字置換について教えてください。

追伸です。
恥ずかしいことですが、自分の考えは間違っていたので、報告しておきます。

sedコマンドが使えなかったため、geditでUTF-8コードに書き換えていました。
こんなことをすれば、今度は、カシミールから読めなくなることが思い浮かばなかったのです。

カシミールを立ち上げてびっくり、文字化けしどうにもならなくなりました。
幸いバックアップは取ってあったので事なきを得て、すぐ復旧できました。

自分のような初心者も居られるかもしれないと思い、かっこ悪いけれど、報告しておきます。

オフライン

 

Board footer

Powered by FluxBB