当前位置:  技术问答>linux和unix

对文件操作, 如何定位到自己想要获取的内容位置

    来源: 互联网  发布时间:2016-06-04

    本文导语:  有一个比较长的文件, 但需求是读取其中的一些行和列, 那读文件的时候, 如何定位到那些行和列, 拿到需求的内容? | [root@RHEL4_U5 ~]# cat /proc/net/dev|head -n 1|awk -F '|' '{print $2,$3}'|column -t  > temp1.sh...

有一个比较长的文件, 但需求是读取其中的一些行和列, 那读文件的时候, 如何定位到那些行和列, 拿到需求的内容?



|
[root@RHEL4_U5 ~]# cat /proc/net/dev|head -n 1|awk -F '|' '{print $2,$3}'|column -t  > temp1.sh
[root@RHEL4_U5 ~]# cat /proc/net/dev|sed 1,2d | awk -F : '{print $2}'| awk -F ' ' '{print $1,$2,$9,$10}'|column -t > temp2.sh
[root@RHEL4_U5 ~]# pr -J -T temp1.sh temp2.sh
Receive  Transmit
1172     17     1172     17
2173823  26370  3678630  19590
0        0      0        0
[root@RHEL4_U5 ~]#

自己结合自己的需求稍作修改吧,应该能用的

|
[root@RHEL4_U5 test]# grep -n 1 manifold.sh
1:a001 login carp(256) carp(200)
[root@RHEL4_U5 test]# grep -n 2 manifold.sh
1:a001 login carp(256) carp(200)
2:2

选择指定行

|
根据条件,自己用fseek来定位文件指针吧。

|
如果文件有固定的编码格式用fseek效率最高

|
什么样的文件呢?
如果比较规则,那就计算偏移,然后用 fseek 定位就行了;
如果不规则,那就必须逐行扫描了吧...

|
# sed -r 's/^ +//;s/:/ /;s/|/ /g' /proc/net/dev | awk 'NR==1{print $1,$2,"-",$3,"-"}NR>1{print $1,$2,$3,$10,$11}' | column -t
Inter-  Receive     -           Transmit    -
face    bytes       packets     bytes       packets
lo      4009975563  1307652751  4009975563  1307652751
eth0    1437307323  2450719743  3905284117  2814464898
eth1    0           0           0           0
sit0    0           0           0           0

|
发到这里不是对齐的了,在Shell里是对齐的。

|
有无固定格式,计算出偏移,用 fseek 可以试试...

|
如果楼主可以把文件的编码规则发出来,大家好对症下药

|










           lseek ? 可以不?

    
 
 

您可能感兴趣的文章:

  • linux不用命令方式读文件获取网络流量,如何使用C函数调用获取网络流量信息?
  • java获取系统路径字体、得到某个目录下的所有文件名、获取当前路径
  • 怎样使用FTP递归获取文件夹下的所有文件及子文件夹?
  • 如何获取 文件类型?文件更新日期?多谢高手帮忙!
  • 请问bash中如何获取一个项目目录下的执行文件的文件名?
  • 用jspsmartupload上载文件怎样获取文件的名称?
  • Shell获取文件的文件名和扩展名的例子
  • 寻找文件夹下.c的文件,然后将同名的.d文件获取到 用shell怎么写
  • python 获取文件列表(或是目录例表)
  • 在shell脚本中,给定一个文件全路径(字符串),如何获取其文件夹?(内详)
  • C如何获取某文件中某一类型文件,且对其排列
  • bat 批处理获取文件路径
  • vm下获取文件的办法
  • android 获取文件的扩展名和去掉文件扩展名的小例子
  • 怎样获取超过4G的Linux Regular文件的大下?
  • 我想在web-inf/classes 下存文件, 怎样获取地址。
  • C# 获取程序集版本、文件版本
  • 如何从用户名获取其对应的终端文件名?
  • shell求救:获取一个文件夹下的所有文件,判断其大小
  • 如何获取两个tag之间不同的文件列表
  • 急:如何在一个已经打开的文件中定位,比如在文件中实现指针前移和后移这种操作
  • 怎样定位查看文本文件的内容(文件很大)?
  • WEB程序如何定位文件?
  • 可执行文件装载到进程地址空间时,是如何重定位的
  • 请教在文本文件中查找一字符串并定位流的位置,如何实现较快?
  • 请问服务器端文件怎么定位???
  • 如何定位到文件的最后,进行文件追加
  • 有调试经验的高手请进:调试程序如何生成core?如何调试core文件定位错误。
  • ftp命令下载文件--lcd怎么定位不到windows7上的目录
  • 自己做的rpm包在重定位安装后出现找不到.so库文件
  • xvidtune调整显示器定位后XF86Config文件出错,郁闷
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux 下怎么才能找到想要的文件?
  • 如何使用户创建的文件自动具有想要指定的权限,如755
  • 想要一份Jbuilder7注册文件key.txt,一百分,多谢
  • 寻找ext3文件系统的资料!最想要的日志结构
  • 我想要一个libldapssl30.so的文件,请帮忙:)
  • linux终端下输入文件名的前几个字母,按下tab键就会被全。假如有两个以ab开头的文件,我输入ab,按下tab被全的是第一个文件,但我想要的是第二个文件可以怎
  • 想从一个XML文件中读出我想要的数据,可是不知该怎么用?不要遍历文件树,只需要分别提取指定的数据,使用DOM技术,谁能给我一个例子,指
  • 用Socket传输文件的问题 (很多分,想要吗?)
  • C++ I/O 成员 eof():如果处于文件结尾处则返回true
  • Shell脚本如何递归现实一个文件夹中的文件(文件夹中含有文件夹)
  • WinDows8最新版文件夹加密
  • 求命令:什么命令可以把文件夹下所有的文件按修改时间先后排出来,包括子文件夹里的文件。
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • [提问]Linux下如何把多个.a文件编译一个.so文件,或者把多个.so文件编译成一个.so文件
  • python异常信息堆栈输出到日志文件
  • 请问:proc中的头文件中能包含头文件吗?(感觉如果头文件中包含头文件的话,在链接时就会有错误啊)
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 我要实现当进程打开文件时,根据文件名判断是否符合要求,符合后处理文件,再把文件返回给进程,怎么实现啊
  • 在MyEclipse中设开启xml文件自动提示和自动完成功能
  • vi 中编辑两个文件,怎样从其中一个文件拷一段内容到另一个文件中。(同时打开两个文件)
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 怎么统计一个文件夹下有多少个文件(不包括文件夹)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 请教高手一个简单问题:给定一个文件名,如何去查找该文件正在被几个程序使用,并怎么样才可以切断这个文件与正在打开该文件的程序之间的
  • MyEclipse如何查看和设置文件编码格式相关操作
  • linux 下的 .a 文件 .o 文件 是什么文件?各有什么作用?
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • 如何用socket一次传输多个文件,如何确定文件一个文件结束
  • 设置sharepoint 2010文档库中的 pdf文件在浏览器中访问的打开方式
  • 如何删除某个目录下除了指定文件夹之外的所有文件和文件夹


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3