Rubyやgit-gsubを使って正規表現で複数行を置換する part2
の続き。
回答 3
Rubyで -0777
を指定するとファイル単位で読み込む方法を教えて頂きました。
$ cat foo.txt foo $ cat bar.txt bar $ cat buz.txt foo bar buz $ ruby -i -n0777 -e 'puts "hi, " + $_' foo.txt bar.txt buz.txt $ cat foo.txt hi, foo $ cat bar.txt hi, bar $ cat buz.txt hi, foo bar buz
詳細
-0777
のオプションは初めて知ったけど、 man ruby
に記載されていました。
-0[octal]. (The digit “zero”.) Specifies the input record separator ($/) as an octal number. If no digit is given, the null character is taken as the separator. Other switches may follow the digits. -00 turns Ruby into paragraph mode. -0777 makes Ruby read whole file at once as a single string since there is no legal character with that value.
まとめ
複数のファイルを一括で編集するときに -0777
は覚えておくと便利そう。