向sed传递包含空格的shell脚本变量

向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/$

忽略.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/$1/g”>1.5美元


使用另一个sed命令退出空间

您可以在此处详细了解该想法:

您可以用反斜杠转义每个空格:

some\ file\ with\ spaces.ext
这样,每个空格都会被引用,shell不会解析空格来表示“这是一个参数的结束,另一个参数的开始”