ruby仿awk处理列
admin
2023-02-15 12:00:06
0

取出文本中的第二列


直接上代码

#!/usr/bin/env ruby
#encoding: utf-8

filename = ARGV[0]
file = File.open(filename)

=begin
逐列打印
=end

file.each_line do |line|
  myline = line.chomp!
  ary = myline.readlines
  puts ary[1]
end
file.close


用each_line逐行遍历,然后用readlines将行内容变为数组,然后取出数组中的元素。


注:chomp!用于删除换行符


split方法用法更广泛一点,可以替代readlines方法。

split方法将正则表达式作为分隔符,默认为空格,也可以省略

#!/usr/bin/env ruby
#encoding: utf-8

filename = ARGV[0]
file = File.open(filename)

=begin
逐列打印
=end

file.each_line do |line|
  myline = line.chomp!
  ary = myline.split(/\s+/)
  puts ary[1]
end
file.close


(/\s+/)是正则表达式,标识一个或多个空格


相关内容

热门资讯

广州远联取得带全方位保护结构的... 国家知识产权局信息显示,广州远联物流服务有限公司取得一项名为“一种带全方位保护结构的升降平台”的专利...
695分放弃清北选择上海交大,... 作者:林靖 责编:缪琦在高考志愿填报中,比起学校,越来越多考生和家长更加看重专业和就业前景。专业优先...
马杜罗被强掳走了,委内瑞拉的3... 据美国有线电视新闻网(CNN)7月23日报道,委内瑞拉近期遭遇强震,本国GDP蒙受6%的巨额损失,灾...
电风扇通电不转,但是有电 原因可能是因为电风扇缺油了,可以通过给风扇注油试试,具体的注油方式是能将电机拆下来,然后再对主轴和前...
美的波轮洗衣机通电不转怎么回事 可能是洗衣机顶盖的安全开关损坏,安全开关与可以控制洗衣机的程序,所以需要更换安全开关;可能是异物卡住...
冰箱通电不启动是怎么回事? 可能是电路故障。电源线开路,电源线插头与插座接触不良,启动继电器、过载保护器接线端子脱落或接触不良,...
为什么我家里的燃气热水器通电不... 1、可能是水管内没有水流通过,热水器不工作。2、可能是电池电量低,无法推动点火器。3、可能是水压低造...
冰箱通电后压缩机不启动,但压缩... 1、非常有可能是因为冰箱的压缩机内高压输出缓冲管出现了断裂,造成高压管不排气低压管不吸气的这种状况,...
身高缩了,房子小了,胆子也怯了... 据日经中文网7月24日报道,日本经济长期停滞催生了“不断缩小”的社会倾向,近年来日本人的平均身高持续...
广东省内铁路即将全线停运 作者 | 第一财经 南英今年第12号台风“红霞”已于7月24日凌晨生成,预计25日夜间至26日早晨在...