Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Linux awk 数组和循环

Linux awk 数组和循环

awk 作为强大的文本处理工具,少不了数组处理。awk 中数组叫做关联数组(associative arrays),下标可以是数字也可以是字符串。awk 中的数组不必提前声明,也不必声明大小,初始化数组元素用 0 或空串,这根据上下文而定。一 语法语法: awk "{pattern + action}" 或awk "pattern {action}"其中 pattern 表示 AWK 在数据中查找的内容, action 是在找到匹配内容时所执行的一系列命...
Linux awk 内置变量实例

Linux awk 内置变量实例

awk 是一门非常优秀的文本处理工具,甚至可以上升作为一门程序设计语言。它处理文本的速度是快得惊人的,现在很多基于shell 日志分析工具都可以用它完成。特点是设计简单,速度表现很好,本文将介绍awk内置变量。格式: awk [ -F re] [parameter...] ["pattern {action}" ] [-f progfile][in_file...]一、内置变量属 性说 明$0当前记录行,代表一行记录$1~$n当前记录的第n个字段,字段间由...
GIS中要素的捕捉以及C++实现

GIS中要素的捕捉以及C++实现

要素的选择,也称为要素的捕捉,在CAD、计算机图形学和地理信息系统中占据着相当重要的作用。比如,用户要根据鼠标在屏幕上的点击判断出选择的是哪一个点、线和面,这是经常碰到的操作。这种操作可以很方便的进行要素的一些属性信息查看,要素的操作等等。下面就分别说一些针对点、线和面的不同形状要素的选取。点:点的捕捉就是计算点与点之间的距离,为了加快搜索速度,可以设置一个以当前的点为中心,一个合适的距离向四周扩散构成一个正方形进行搜索,然后根据搜索得到的结果集进行距离计...
Android 添加按电源键结束通话

Android 添加按电源键结束通话

首先我们发现现在我们所用的Android智能手机大部分都有当你在打电话时按power键来挂断电话,一般都是在设置中。我主要是在原生源码中添加这一功能,主要用于学习。。。。先看一张图:看到那个按电源键挂断电话吧,那就是我所添加的,本来原生源码中是没有这一栏的。。。。。大概思路:首先我先添加这一个checkboxPreference,然后将是否选择这一功能的值(0和1)存到data/data/com.android.providers.settings/dat...
用jQuery以及JSON包将表单数据转为JSON字符串

用jQuery以及JSON包将表单数据转为JSON字符串

提供一个将表单数据转为json对象,再转为字符串,提交到后台,后台就可以将数据转为json对象,方便操作,假如有用到json作为数据处理手段的话。希望大家可以用到!(不能直接套用的话,用浏览器js调试工具调试下,就行了)要用到的包:json2.js,jquery(可以百度);var dataVo = $("#submitForm").serializeArray();var dataJson = convertToJson(dataVo);dataVo =...
利用Kprobe探测内核中的变量

利用Kprobe探测内核中的变量

今天遇到一个问题,需要探测内核中buffer cache block的大小。我想到了Kprobe这个神奇的工具,并且很好的探测到了内核中的变量值,非常的方便,在此分享一下。采用dd等工具写设备的时候,是需要经过块设备层的buffer cache,当请求块大小小于buffer cache的block_size时,Linux的策略是首先需要从磁盘load数据至buffer cache,然后再将新写入的“局部数据”写入buffer cac...
Linux 3.2中回写机制的变革

Linux 3.2中回写机制的变革

writeback机制模型在Linux-3.2新内核中,page cache和buffer cache的刷新机制发生了改变。放弃了原有的pdflush机制,改成了bdi_writeback机制。这种变化主要解决原有pdflush机制存在的一个问题:在多磁盘的系统中,pdflush管理了所有磁盘的page/buffer cache,从而导致一定程度的IO性能瓶颈。bdi_writeback机制为每个磁盘都创建一个线程,专门负责这个磁盘的page cache或...
Kprobe在Linux kernel debug中的应用

Kprobe在Linux kernel debug中的应用

一直在做kernel开发方面的工作,也一直苦于kernel debug的困惑,到底如何进行kernel开发的debug的工作?今天经美国同事的推荐,我认为kprobe是一个非常好的debug工具。其本质原理就是在你需要probe的地方放入断点指令,然后在断点处调用你的调试/测试程序,从而可以实现对kernel程序的调试/测试。Kprobe只是提供了一种机制,使得用户可以在系统运行时调试/测试内核程序。使用Kprobe需要做如下几件事情:1,需要找到测试点所...
Linux内核中的文件描述符(五)--fd的分配--locate_fd

Linux内核中的文件描述符(五)--fd的分配--locate_fd

Kernel version:2.6.14CPU architecture:ARM920T继续上一篇文章的内容,分析另一个文件描述符fd的分配函数locate_fd。dup系统调用用于复制一个文件描述符对应的文件,返回值是个文件描述符。在前面的文章中,我们已经分析过了dup的源码(http://www.linuxidc.com/Linux/2012-12/77128.htm),在这里我们深入分析locate_fd函数,其定义如下:static int lo...
Linux 下C语言简单实现线程池

Linux 下C语言简单实现线程池

0 前言网上关于线程池的例子还是不少,简单明了的倒是比较少,看了网上的资料,打算借鉴网上的一些例子,自己实现以下。线程的概念就不多说,首先说一下多线程的好处:多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。那么为什么又需要线程池呢?我们知道应用程序创建一个对象,然后销毁对象是很耗费资源的。创建线程,销毁线程,也是如此。因此,我们就预先生成一些线程,等到我们使用的时候在进行调度,于是,一些"池化...
基于pthread的线程池,C++实现

基于pthread的线程池,C++实现

最近项目需要用到线程池,以前没接触过,断断续续学了两三个星期吧先在网上找了一个用C实现的,例子挺多,不过我只看了一个http://www.linuxidc.com/Linux/2013-01/77619.htm我觉得写得比较简洁易懂项目是C++写的,用的ACE框架,而且系统不算小,如果直接用C的话可能会破坏系统原有的封装和扩展性可能会用ACE的ACE_TASK来实现线程池,但在此之前我想先自学一下基于pthread的C++的线程池实现在网上也找到挺多C++...
解决C++头文件相互包含问题的方法

解决C++头文件相互包含问题的方法

所谓超前引用是指一个类型在定义之前就被用来定义变量和声明函数。一般情况下,C/C++要求所有的类型必须在使用前被定义,但是在一些特殊情况下,这种要求无法满足,例如,在类CMyView中保留了一个非模式对话框对象指针,该对象用于显示/修改一些信息。为了实现对话框"应用"按钮,把对话框做的修改立刻更新到view界面上,为此,需要在对话框类中需要保存view类的指针,这样定义关系就变成如下的代码: #ifndef __MYVIEW_H__ #define __M...
Hadoop HDFS Wrong FS: hdfs:/ expected file:///

Hadoop HDFS Wrong FS: hdfs:/ expected file:///

HDFS是一个分布式文件系统,然而对于程序员来说,HDFS就是一个普通文件系统,Hadoop进行的底层封装,程序员按照相应的API来对HDFS上的文件操作,和对本地磁盘文件操作没有太多区别。但是最初接触时可能还是会碰到这样那样的问题。例如:获取FileSystem实例时会出现java.lang.NullPointerException at org.apache.hadoop.conf.Configuration.get(Configuration.ja...
《UNIX环境高级编程》中apue.h的问题

《UNIX环境高级编程》中apue.h的问题

运行程序清单1-1(列出一个目录中的所有文件)提示 "错误:apue.h:没有那个文件或目录".很是受打击,果断google解决之。apue.h是作者自定义的一个头文件,包括程序所需的常用头文件及出错处理函数。所以因该将它放入系统头文件中(Linux下是 /usr/include),这样gcc编译器就可以找到它了。去http://www.linuxidc.com/Linux/2013-01/77467.htm下载src.tar.gz包,然后解压至电脑中的某...
<< 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 >>