以下は私の「1ライナー」です。1行のスクリプトを1行のコマンドにする方法はありますか?
#!/usr/bin/ruby
puts ARGF.read.gsub(/\\caption\{((?:[^{}]+|\{\g<1>\})+)\}/m) { |xx, yy|
Regexp.last_match[0].gsub(/([^\\])#/,'\1\\#') }
私はちょうど私が
-e:1: premature end of char-class: /([^\])#/
質問
を取得し、私は二重引用符で
-e:1: syntax error, unexpected $undefined, expecting ')'
...ast_match[0].gsub(/([^\\])#/,1\#) }
... ^
を得るruby -pe ''
に挿入した場合そこで質問はへのアプローチは何かということですそれはで動作させる?代わりに、あなたのワンライナーで単一引用符の
これは、単一引用符が含まれていますけど、シェルで使用される文字列をエスケープするための標準的な方法は、このようなものです一重引用符。または、別の引用機構を使用してください。 –
私はエラーでOPを試して更新しました。 –
@mudasobwaあなたは正しいです、コメントが更新されました。 –