linux经常使用文字处理命令总结
作用
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正則表達式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print。表示全局正則表達式版本号。它的使用权限是全部用户。
主要參数
-n:显示匹配行及 行号。
-v:显示不包括匹配文本的全部行。
-I:不区分大 小写(仅仅适用于单字符)。
-l:查询多文件时仅仅输出包括匹配字符的文件名称。
-e:使用扩展的正則表達式
-w: 仅仅匹配整个单词,而不是字符串的一部分 (即由连续的字符,数字和下划线构成的总体)
Linux sed命令
作用
Sed命令主要用于对整行进行处理,对列处理可使用以下介绍的awk命令
使用方法 sed 选项 动作 文件
经常使用选项:
-n∶使用安静(silent)模式。
在一般 sed 的使用方法中。全部来自 STDIN的资料一般都会被列出到萤幕上。但假设加上 -n 參数后,则仅仅有经过sed 特殊处理的那一行(或者动作)才会被列出来。
-f∶直接将 sed 的动作写在一个档案内, -f filename 则能够运行 filename 内的sed 动作。
-i∶直接改动读取的档案内容。而不是由萤幕输出。
经常使用动作
a ∶新增, a 的后面能够接字串。而这些字串会在新的一行出现(眼下的下一行),假设要新增多行。需用\换行
c ∶代替, c 的后面能够接字串。这些字串能够代替 n1,n2 之间的行!假设字符串要换行。须要用\配合
d ∶删除,由于是删除啊。所以 d 后面通常不接不论什么咚咚;
i ∶插入, i 的后面能够接字串。而这些字串会在新的一行出现(眼下的上一行)。假设要插入多行,需用\换行
p ∶列印,亦即将某个选择的资料印出。通常 p 会与參数 sed -n 一起运作~
s ∶代替,能够直接进行代替的工作哩!
通常这个 s 的动作能够搭配正规表示法!比如 s/old/new/g 就是啦!
Linux awk命令
awk能够独立的作为一门编程语言。这里仅仅介绍其简单的一部分
awk一般配合print和printf来使用
如:
显示/etc/passwd中的 username,用户id和组id,前面加上行号(通过cat -n) -F用来说明划分列的分隔符,$1,$3,$4分别指第1,3,4行
cat -n /etc/passwd | awk -F “:” '{print $1 “\t” $3 “\t” $4}'
第一行显示username userid groupid然后显示和上个样例一样的内容(行号是通过awk中的NR显示的)
cat /etc/passwd | awk 'BEGIN {FS=”:”; printf “%d\t%10s\t%10s\t%10s\n”,NR,”username”,”userid”,”groupid”}\
{printf “%10s\t%10s\t%10s\n”,$1,$3,$4}\
END {printf “finish\n”}'
显示硬链接数目大于5的文件,$0代表整行
ll | awk '$2>5 {print $0}'
原始文件:
score:
|Math|English|C++|OS|SE|
|95 |89 |92 |98 |99|
|66 |78 |82 |81 |90|
|79 |65 |77 |82 |35|
命令:
cat score | awk 'BEGIN {FS="|"; print "MY Score List"}\
NR==1 {print $0 "Sum" FS "Average" FS}\
NR>1 {sum=$1+$2+$3+$4+$5;aver=sum/5;print $0 sum FS aver FS}\
END {print "Finish"}'
输出:
MY Score List
|Math|English|C++|OS|SE|Sum|Average|
|95 |89 |92 |98|99|374|74.8|
|66 |78 |82 |81|90|307|61.4|
|79 |65 |77 |82|35|303|60.6|
Finish
linux经常使用文字处理命令总结的更多相关文章
- 【日常小记】linux中强大且常用命令:find、grep【转】
转自:http://www.cnblogs.com/skynet/archive/2010/12/25/1916873.html 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍fin ...
- linux sort,uniq,cut,wc命令详解
linux sort,uniq,cut,wc命令详解 sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些 ...
- 【程序员技术练级】熟悉Unix/Linux Shell和常见的命令行(一)文件系统结构和基本操作
作为程序猿,熟悉一些unix/linux命令行是非常必要的,因为部署服务的服务器现在基本上用的都是unix/linux系统,很少在windows上部署服务的. 今天我们就介绍一些在linux上的文件系 ...
- Linux 中强大且常用命令:find、grep
在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 f ...
- 在 Windows 和 Linux(Gnome) 环境下 从命令界面打开网页的方式
1.在 Windows 中 通过命令 可以打开网页是很简单的: start http://www.baidu.com 或 start iexplorer http://www.baidu.com 第二 ...
- 【转载】Linux中强大且常用命令:find、grep
转载自:http://www.linuxeden.com/html/softuse/20130804/142065.html 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find. ...
- linux中强大且常用命令:find、grep
在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们. 本文结构如下: find命令 find命令的一般形 ...
- [转]linux中强大的screen命令
[转]linux中强大的screen命令 http://pythonorg.diandian.com/post/2012-01-05/40027464147 今天用SCREEN用点生了,有几个功能不知 ...
- 第九章、文件与文件系统的压缩与打包 Linux 系统常见的压缩命令
Linux 系统常见的压缩命令: 在Linux中,压缩文件的扩展名大多是:『*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2』 Linux 支持的压缩命令非常多,且不同 ...
随机推荐
- cookies和session区别
session原理:1.session是保存在服务器端,理论上是没有是没有限制,只要你的内存够大 2.浏览器第一次访问服务器时会创建一个session对象并返回一个JSESSIONID=ID的值, ...
- 在Eclipse调试Weblogic上的web项目
概述 参考原文:weblogic debug配置. weblogic版本:BEA WebLogic Platform 8.1 工作原理: 利用java tools里面的jdb程序连接远程的JAVA虚拟 ...
- Flask实战第58天:发布帖子功能完成
发布帖子后台逻辑完成 首先给帖子设计个模型,编辑apps.models.py class PostModel(db.Model): __tablename__ = 'post' id = db.Col ...
- RabbitMQ (十五) 镜像集群 + HAProxy1.7.8 负载均衡
RabbitMQ 默认的集群模式,也就是普通模式,最大的问题就在于存储队列完整数据的节点一旦宕机, 如果是非持久化队列,则消息丢失;如果是持久化队列+持久化消息,则必须等该节点恢复. 所以后来 Rab ...
- 谜题54:Null与Void
下面仍然是经典的Hello World程序的另一个变种.那么,这个变种将打印什么呢? public class Null { public static void greet() { System.o ...
- [Luogu2540][NOIP2016]斗地主增强版(搜索+DP)
增强版就是原版中两鬼不算对子的版本. 先爆搜出完所有对子,剩下的牌DP处理. 考虑每个数码的拆牌情况,最多可能被拆成5种情况:1+1+1+1,1+1+2,1+3,2+2,4.故DP状态数最多为5^13 ...
- FZU 2105 Digits Count(按位维护线段树)
[题目链接] http://acm.fzu.edu.cn/problem.php?pid=2105 [题目大意] 给出一个序列,数字均小于16,为正数,每次区间操作可以使得 1. [l,r]区间and ...
- [CODECHEF]RIN
题意:一个人要在$m$个学期上$n$节课,在第$j$学期上$i$课有$X_{i,j}$的收益,有些课$B_i$有前置课程$A_i$,问最大得分 这个题我都做不出来还去看题解...我退役吧== 考虑每种 ...
- 20162327实验一Java开发环境的熟悉实验报告
20162327 <程序设计与数据结构>第一次实验报告 基础知识 1.JDB的使用 使用JDB调试程序需要以下五个步骤: 1.设置断点 stop in 2.run 3.print 4.ne ...
- python的高阶函数
函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数. 高阶函数 定义:一个函数就可以接收另一函数作为参数,这种函数就称之为高阶函数. map/reduce Python ...