-1

あるファイルから特定のコード行をコピーして別のファイルに挿入する Ruby スクリプトを作成したいと考えています。可能であれば、file_1 のいくつかの行を強調表示してコピーし、カーソルを file_2 の中央に置き、コピーしたコードを貼り付けた場合と同じ結果にしたいと思います (つまり、その下にある file_2 のコード挿入ポイントが下に移動します...)。

過去に、ファイルの内容全体を取得して空のファイルに挿入するスクリプトを作成したことがありますが、あるファイルの特定の行だけを別のファイルの途中に「コピーして貼り付ける」ようにしたいと考えています。ファイルを行番号で検索することはできますか? 私の全体的な目標は可能ですか?前もって感謝します。

4

2 に答える 2

0

ファイル全体をメモリに保持できる場合、スクリプトは非常に簡単です。

IO.readlines("/etc/passwd").each_with_index do |line, line_num|
  if (line_num % 6 == 2)
    puts line 
  end
end

次に、新しいファイルにリダイレクトするか、新しいファイルを開いて、

opened_file.puts line

行番号のリストがある場合は、それらもウォークスルーできます。

lines = IO.readlines(file)
line_numbers.each do |i|
   puts lines[i]
end
于 2013-01-16T17:16:36.247 に答える
0

split 関数を使用してテキストを配列に変換するだけで、番号または範囲で行を選択できます。

arraytext = filetext.Split("\n")
arraytext[0] #for first line
于 2013-01-16T17:19:17.950 に答える