LoginSignup
0
0

More than 3 years have passed since last update.

ShellScript 変数 の "\" を "/" に 置換する

Posted at

目的

  • 変数に格納された\/に置換する方法を知る。
  • Windows表示のファイルパスをLinuxのものに書き換える方法を知る。

書き方の例

  • 変数に格納された文字列の置換を用いて\/に変換する。
  • 変数には\を含む任意の文字列が格納されているものとする。
  • 変数内の文字置換は${変数名//置換対象文字/置換後文字}で処理することができる。
  • 下記にShellScriptの処理を記載する。

# 出力 ${変数名//置換前文字/置換後文字}
$ echo ${変数名//\\//}
  • 上記の書き方だと若干分かりにくいので解説をする。
  • 変数名の次の//はマッチしたものをすべて置換する命令
  • //の後の\\は最初の\がエスケープ命令で、後ろの\が置換前文字
  • \\の後の/は置換前文字と置換後文字を区切るもの
  • 最後の/は置換後文字
  • 前述の内容を踏まえ、今回の処理をわかりやすくスペースを入れて記載する。

$ echo ${変数名 // \\ / /}

より具体的な例

  • Windows表記のファイルパス(ディレクトリの区切りが\)を、Linux表記のファイルパス(ディレクトリの区切りが/)に置換する。
  • 変数file_pathにはWindows表記のファイルパス「C:\Users\miriwo\Documents\sample」を格納する。
  • 下記にShellScriptの処理を記載する。

# 変数にファイルパスを格納
$ file_path="C:\Users\miriwo\Documents\sample"

# \を/に置換して変数file_pathに格納
echo ${file_path//\\//}
>C:/Users/miriwo/Documents/sample 
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0