ruby仿awk处理列

直接上代码

#!/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!用于删除换行符

时间: 2024-12-10 20:35:51

ruby仿awk处理列的相关文章

awk指定列修改

遇到个处理文本文件的问题 cat test.txt "355356"        "1700870"       "1"     "0202"  "" "355356"        "1700871"       "2"     ""    "02046" "355356"      

awk 对列数据求和

awk '{print $10}' access_www.log | awk '{a+=$1}END{print a}'

awk 两列相减

cat http.txt  |awk -F ':' '{print($2-$3)}' 百度文库

Ruby 仿 C 结构体:CStruct 的一些例子

1. [代码]最简单的例子     # CStruct Examplesrequire 'cstruct' # example:# struct Point in C\C++        (32-bit platform): ## struct Point# {#    int x;#    int y;# };  # struct Point in Ruby: class Point < CStruct  int32:x  int32:yend # create a Point's inst

仿LookUpEdit多列模糊搜索,功能比GridLookUpEdit强大,比SearhLookUpEdit方便

先上效果图: 控件调用示例:(devexpress使用了16.2.6.0版本,可以根据实际需要进行版本转换) using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using Sys

awk的些许小技巧

一句话kill掉名为navimain的process(利用awk的列操作能力) kill -15 `ps|grep navimain | awk 'NR==1 {print $1}'`

shell之三大文本处理工具grep、sed及awk

grep.sed和awk都是文本处理工具,虽然都是文本处理工具单却都有各自的优缺点,一种文本处理命令是不能被另一个完全替换的,否则也不会出现三个文本处理命令了.只不过,相比较而言,sed和awk功能更强大而已,且已独立成一种语言来介绍. grep:文本过滤器,如果仅仅是过滤文本,可使用grep,其效率要比其他的高很多: sed:Stream EDitor,流编辑器,默认只处理模式空间,不处理原数据,如果你处理的数据是针对行进行处理的,可以使用sed: awk:报告生成器,格式化以后显示.如果对处

使用命令将/etc/passwd第一列和最后一列交换位置

1.使用awk改变列的输出顺序,{}中""中的内容会原封不动输出 [[email protected] ~]# awk -F ":" '{print$NF":"$2":"$3":"$4":"$5":"$6":"$1}'/etc/passwd 2.使用变量等价替换,使用tr将空格替换为":" [[email protected]

linux学习-awk工具

awk是基于列的文本处理工具,它的工作方式是按行读取文本并视为一条记录,每条记录以字段分割成若干字段,然后输出个字段的值,事实上,awk是一种编程语言.awk认为文件都是结构化的,也就是说由单词和各种空白字符组成的,这里的'空白字符'包括空格,Tab,以及连续的空格和tab等.每个非空白的部分叫做域,从做到右依次是第一个域,第二个域,等等.$1.$2分别用于表示域,$0则表示全部域. 首先创建Awk.txt文件,文件内容如下所示: john.wang Male 30 021-1111111 lu