AWK只读取第一行内容?

sh/bash/dash/ksh/zsh等Shell脚本
回复
liucheng1513
帖子: 62
注册时间: 2010-09-08 18:17

AWK只读取第一行内容?

#1

帖子 liucheng1513 » 2011-03-21 21:45

一个文本,aaa.txt 内容有两行,第一行:123456
第二行:是空的
如何只读第1行的内容,不读去空格

awk -F= '{ print $1 }' /root/aaa.txt
这样读出来的有空格,虽让空格不显示,
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: AWK只读取第一行内容?

#2

帖子 lilydjwg » 2011-03-21 22:15

代码: 全选

head -n1|awk ...

代码: 全选

awk ... '{if(NR=1){...}else{exit)}'
fnan
帖子: 919
注册时间: 2009-07-01 22:04

Re: AWK只读取第一行内容?

#3

帖子 fnan » 2011-03-21 22:40

如果lz想跳过所有空格行和空行:
awk -F= '{if (! match($0,/[^ ]/)) {next} else print $0}' aaa.txt
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
sk1418
帖子: 229
注册时间: 2007-07-01 17:36
系统: (En):System
来自: (En):address
联系:

Re: AWK只读取第一行内容?

#4

帖子 sk1418 » 2011-03-21 23:54

1如果按你说,你的文件只有两行,就要第一行,而且还要求用awk可以简单这样

代码: 全选

awk 'i=!i' yourFile
2如果文件好多行,就要第一行, 不一定awk

代码: 全选

head -n1 yourfile
sed -n '1{p;q} yourfile
awk 'i=!i;{exit}' yourfile
---
regards,

Kent
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: AWK只读取第一行内容?

#5

帖子 aerofox » 2011-03-26 7:21

代码: 全选

awk 'NR==1' aaa.txt
如果文件行数比较多,那么在处理第二行时就退出可以加快执行速度。

代码: 全选

awk 'NR==1; NR==2 { exit; }' aaa.txt 
回复