sed: 文字列をファイルのフルパスで変換

‘/’が入っているのでバックスラッシュが必要。

hdknr@debiansept:~/tx/bin$ echo `pwd` | sed "s/\//\\\\\//g"
\/home\/hdknr\/tx\/bin

スクリプトの中でさらにファイル名で変換するには、

hdknr@debiansept:~/tx/bin$ more setup.sh
#!/bin/sh

P=`pwd`
JR_PHP=php-openid-2.1.1
D=`dirname $P`/$JR_PHP/examples/
A=`dirname $P`/apache
#
T=`echo $D | sed "s/\//\\\\\\\\\//g"`
#
for x in print photo id;
do

  cat php_template.conf | sed  "s/_SERVERNAME_/$x.debian.hdknr/" | sed "s/_HOMED
IRECTORY_/$T$x/" > $A/$x.conf
  sudo ln -sf $A/$x.conf  /etc/apache2/sites-enabled/$x.conf
done

バッククォートの中だとさらにバックスラッシュが倍、ということでした。

カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中