0
以下是我的腳本中的「單行」。將單行腳本製作爲單行命令的方法?
#!/usr/bin/ruby
puts ARGF.read.gsub(/\\caption\{((?:[^{}]+|\{\g<1>\})+)\}/m) { |xx, yy|
Regexp.last_match[0].gsub(/([^\\])#/,'\1\\#') }
如果我只是在ruby -pe ''
插入我得到
-e:1: syntax error, unexpected $undefined, expecting ')'
...ast_match[0].gsub(/([^\\])#/,1\#) }
... ^
加上雙引號,我得到
-e:1: premature end of char-class: /([^\])#/
問題
所以,問題是什麼方法使其在工作?
它包含單引號,所以當你將它嵌入在命令行上單引號,你需要躲避內單引號。或者使用一個備用的引用機制 –
我剛剛嘗試並用錯誤更新了OP。 –
@mudasobwa你是對的,評論已更新。 –