有一个文件,我想在文件顶部添加前缀。 文件名是xyz.csv
我能够在终端中运行相同的命令并获得结果但是当运行ruby脚本时我收到错误
xyz.rb
#Script
file = "/home/sumeet/xyz.csv"
command = "sed -i '1s/^/resource_id,code,value,date\n/'"
full = "#{command} #{file}"
`full`
错误
$ ruby xyz.rb
xyz.rb:4:in ``': No such file or directory - full (Errno::ENOENT)
from xyz.rb:4:in `<main>'
该文件存在于系统
中答案 0 :(得分:1)
如果要在系统调用中使用变量,则需要使用字符串插值。尝试:
#Script
file = "/home/sumeet/xyz.csv"
command = "sed -i '1s/^/resource_id,code,value,date\\n/'"
full = "#{command} #{file}"
`#{full}`
编辑:请记得使用\
在\n
中转义\\n
。否则,它将被解释为换行符并将sed命令提前终止。