向sed传递包含空格的shell脚本变量
忽略.bat扩展名,这只是旧dos批处理文件时代的习惯 我有两个简单的shell脚本。我想把一个带有空格的文件名(有些文件带有spaces.ext)从little.bat传递到big.bat,如下所示。它不允许我将文件名用单引号或双引号引起来 第一个叫little.bat:向sed传递包含空格的shell脚本变量,shell,Shell,忽略.bat扩展名,这只是旧dos批处理文件时代的习惯 我有两个简单的shell脚本。我想把一个带有空格的文件名(有些文件带有spaces.ext)从little.bat传递到big.bat,如下所示。它不允许我将文件名用单引号或双引号引起来 第一个叫little.bat: ./big.bat some file with spaces.ext 第二个叫做big.bat: cat template.iss | sed “s/replace123/$1/g”sed “s/replace456/$
./big.bat some file with spaces.ext
第二个叫做big.bat:
cat template.iss | sed
“s/replace123/$1/g”sed
“s/replace456/$1/g”>1.5美元
使用另一个sed命令退出空间 您可以在此处详细了解该想法:
您可以用反斜杠转义每个空格:
some\ file\ with\ spaces.ext
这样,每个空格都会被引用,shell不会解析空格来表示“这是一个参数的结束,另一个参数的开始”