object Tsv { def tsv(text:String) : Unit = { import scala.io.Source val lines = Source.fromString(text).getLines print(lines.next) val data = lines.map({s:String => s.split("\t")}) val lst = List.fromIterator(data).sort({(a:Array[String], b:Array[String]) => Integer.parseInt(a(0)) < Integer.parseInt(b(0))}) for (line <- lst) {print(line(0) + "\t" + line(1) + "\t" + line(2) + "\t" + line(3))} } def main(args : Array[String]) : Unit = { val testData = "ID\tSurname\tForename\tAge\n1\tSato\tHanako\t17\n0\tSuzuki\tTaro\t18\n" tsv(testData) } }