• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:UNIXのシェルスクリプト)

UNIXのシェルスクリプトでファイル中の文字列をディレクトリパスに変換する方法

このQ&Aのポイント
  • UNIXのシェルスクリプトでファイル中の文字列をディレクトリパスに変換する方法を教えてください。
  • 現在のディレクトリパスにある特定の文字列を、UNIXのシェルスクリプトを使って変換したいです。
  • しかし、文字列の置換がうまく機能せず、ディレクトリパスが正しく区切られないという問題があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • you-m
  • ベストアンサー率58% (190/327)
回答No.1

このコードには、いくつかの問題点があります。 1.sedのコマンドをシングルクオート''でくくっているため、シェルスクリプト的に、変数置換が行われない。 2.仮に、うまく置換されてもご自身で指摘している通り、パス区切りに使われている/をエスケープする方策がなされていない。 3.これは単なる書込み時の記述もれかと思われるが、sedコマンドの後ろのスラッシュがない。 ーーー 1.に関しては普通にダブルクオート""でくくってください。 2.sedの区切り文字はコマンドの後ろの文字がそのまま区切り文字になります。 例 sed -e "s#CURRENT_DIR#${dir_data}#" このようにすれば、/はsed的に特殊文字でなくなるので、問題ありません。