我有一个逐行列出的文件:
first.last@example.com
first.last@example.com
last@example.com...
请注意,有些地址没有名字,在这种情况下,它只是姓氏。
如何编写一个简单的Ruby脚本来读取此文件(称之为email.txt
)
并按姓氏按顺序将其写回文件?
答案 0 :(得分:3)
将其放入文件中,例如sort_by_last.rb
:
puts IO.readlines('email.txt').sort_by { |e| e.match(/[^\.]+(?=@)/)[0].downcase }
然后运行它:
ruby sort_by_last.rb > emails_sorted.txt
将sort_by_last.rb
的内容设置为
puts STDIN.readlines.sort_by { |e| e.match(/[^\.]+(?=@)/)[0].downcase }
然后运行:
ruby sort_by_last.rb < email.txt > emails_sorted.txt