论坛风格切换切换到宽版
  • 1425阅读
  • 8回复

[问题求助]同时取得一个输出流的的前10行和后10行, [复制链接]

上一主题 下一主题
离线hackerstudy.
 
发帖
2066
C币
-193385
威望
377
贡献值
1
银元
-2
铜钱
4603
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
问个命令:
要同时取得一个输出流的的前10行和后1.0行,怎么写来.的?电脑

c.at file|head -n 10 只得头.10行
c.at file|tail -n 10 只尾10行学习
如何同时获得,不用临时文件!

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线885885.
发帖
2145
C币
-193033
威望
415
贡献值
1
银元
0
铜钱
4939
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-14
折腾一个多小时,总算搞出来了。

cat file | awk '{k[i++]=$0} ;NR <= 10 {print $0};END{for(x=NR-10;x<NR;x++)print k[x]}'

发帖
2155
C币
-60173
威望
418
贡献值
1
银元
0
铜钱
4869
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-14


QUOTE:原帖由 gdutllf2006 於 2009-4-24 00:11 發表
問個命令:
要同時取得一個輸出流的的前10行和後10行,怎麼寫來的?

cat file|head -n 10 只得頭10行
cat file|tail -n 10 只尾10行
如何同時獲得,不用臨時文件!


兩次不就好了?

cat file | head -n 10 ; cat file | tail -n 10
复制代码

這個比你用那個 awk 語法更有效率

1
评分人数零二年的夏天: 精品文章可用积分 + 5
__________________________________
如果真的愛一個作業系統    怎能不害怕不再能使用它
而我們必須接受現實  於是長大了 寂寞就是沒有了機會再用它
比沒有電腦還要寂寞  即使短暫使用也會刻骨銘心
而那些點亮我們生命的作業系統  就彷彿電影內發生在暹邏的愛情故事

  To all the Linux that bring us to kernel.




Novell Linux迁移有奖大调查!| Oracle顶级认证,OCM:高薪的象征 | 《开源时代》2010年第三期! | 2010数据库技术大会报名啦


gdutllf2006 发短消息
加为好友
gdutllf2006 当前离线
UID10248702 帖子209 精华0 积分205 可用积分205  信誉积分0  专家积分0  空间积分0  阅读权限20 在线时间315 小时 注册时间2007-10-11 最后登录2010-04-11
精灵

帖子209 主题34 精华0 可用积分205  专家积分0  在线时间315 小时 注册时间2007-10-11 最后登录2010-04-11 状态:...当前离线...
[微博] [博客] [短信] 4楼 发表于 2009-04-24 09:28 | 只看该作者




QUOTE:原帖由 kenduest 于 2009-4-24 03:20 发表


兩次不就好了?

cat file | head -n 10 ; cat file | tail -n 10

這個比你用那個 awk 語法更有效率


不能两次。
是个程序它的输出很大。要是重定向到文件,超过1G,而我只要看前10行和后10行的 log

发帖
2121
C币
-139044
威望
401
贡献值
1
银元
-2
铜钱
4708
人人网人气币
0
只看该作者 地板  发表于: 2010-04-14


QUOTE:原帖由 Celinde 于 2009-4-24 02:04 发表
折腾一个多小时,总算搞出来了。

cat file | awk '{k=$0} ;NR  

谢谢!

离线花花86.
发帖
1980
C币
-60887
威望
371
贡献值
1
银元
-1
铜钱
4494
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-14
cat -n /var/log/messages |head && cat -n /var/log/messages |tail
那你看看这条可以吗?
head和tail默认都是显示10条,如果你想显示20条也可以,head -n 20  tail -n 20

离线wing.
发帖
2050
C币
-60802
威望
371
贡献值
1
银元
-3
铜钱
4533
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-14


QUOTE:原帖由 kenduest 于 2009-4-24 03:20 发表
cat file | head -n 10 ; cat file | tail -n 10


这个也可以啊!

[ 本帖最后由 marsaber 于 2009-4-24 11:24 编辑 ]
1.JPG (99.16 KB)
下载次数:1
2009-04-24 11:24


2.JPG (96.51 KB)
下载次数:1
2009-04-24 11:24



离线manbunet.
发帖
1923
C币
-61046
威望
353
贡献值
2
银元
-2
铜钱
4301
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-14


QUOTE:原帖由 gdutllf2006 于 2009-4-24 09:28 发表


不能两次。
是个程序它的输出很大。要是重定向到文件,超过1G,而我只要看前10行和后10行的 log

cat file | head -n 10 >.lgo
cat file | tail -n 10>>.lgo

不是重定向到同一个文件了吗?

离线chinablue.
发帖
2151
C币
-235260
威望
390
贡献值
1
银元
-3
铜钱
4734
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-14
cat -n file | awk '{k[i++]=$0} ;NR <= 10 {print $0};END{for(x=NR-10;x<NR;x++)print k[x]}'

cat file | head -n 10 ; cat file | tail -n 10

cat -n file |head && cat -n file |tail

输出结果没有什么不一样的啊!
无非就是第一个更专业些罢了。

离线涵冰.
发帖
2063
C币
-235248
威望
379
贡献值
1
银元
-1
铜钱
4644
人人网人气币
0
只看该作者 8楼 发表于: 2010-04-14
回原本樓主

只是您的 awk 方式效率很糟糕,你找一個很大的文件去測試就知道
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个