0

フォルダー内のファイルを読み取り、それらを個々のファイルにマージするスクリプトを ruby​​ で作成しようとしています。

これが私が思いついたものです

File.open('authorized_keys','a') do |mergedfile|
  @files = Dir.glob('/home/<user>/ruby_script/*.keys')
  for file in @files
    text = File.open(file, 'r').read
    text.each_line do |line|
      mergedfile << line
    end
  end
end

アイデアは、スクリプトが開発者のために github から公開鍵ファイルをダウンロードし、それらを authorized_keys ファイルにマージしてから、クラウド サーバーに scp するというものです。

私が抱えている問題は、authorized_key ファイルが生成されるときに、一部の ssh キーが新しい行にあり、一部が他のキーと同じ行にあることです。

ダウンロードしたファイルを確認しましたが、各キーはそれぞれの行にあります

各キーが独自の行にあることを確認するにはどうすればよいですか?

ありがとう

4

3 に答える 3

2

String#chomp末尾の改行を削除してから、改行 ("\n"または$/)を追加するために使用します。

"abc\n".chomp + "\n" # => "abc\n"
"abc".chomp + "\n" # => "abc\n"

mergedfile << line.chomp + "\n"
于 2013-09-05T14:59:20.580 に答える