linux下常见的字符串处理
linux下有许多对字符串文本的处理工具,diff,grep,awk,sed等等。。
diff
比较两个文件的不同
[root@bogon diff]# diff file1 file2
以高亮的形式在vim编辑器中显示两个文件的不同之处
vimdiff
grep
用于匹配字符,或者查找文件中的匹配项
[root@bogon diff]# ls | grep file
file1
file2
重要参数
-i #忽略大小写
-n #显示结果所在行的行号
-c #显示结果个数
-v #反向过滤
-r + 目录名 ###在目录下查找含有关键字的内容
-E "关键字1|关键字2" ###过滤多个关键字
sort
用于排序
-n #纯数字
-r #倒序显示
-u #去掉重复行
-t #指定分隔符
-k #指定排序的列
用法实例
sort -t: -k3 -n /etc/passwd
将文本以:为分隔符,以第三列作为(uid)排序标准,-n表示排序是以纯数字来排,而不是以字母的顺序。
uniq
重复行处理,uniq只会认为连续的重复的行才是重复行。
若想删除掉所有的重复的行,可以先排序然后uniq
-c #统计重复行的个数
-d #显示重复行
-u #显示唯一行
tr
转换字符大小写
tr 'a-z' A-Z < 文件名
##将所有的大写转换成大写
tr -d 关键字 文件名
##将所有关键字删除
sed
sed 's/nologin/login/g' file #将file文件中的所有nologin替换成login
sed '1,5s/nologin/login/g' file #将1-5行的所有nologin换成login
sed '/games/,/nobody/s/nologin/login/g' file #将games到nobody之间的nologin换成login
sed -e 's/nologin/login/g' -e 's/sbin/bin/g' #多条替换规则一起用
sed 3d file #不显示第三行
sed 3,7d file #不显示3-7行
sed 3,7p file #重复显示3-7行
sed -n 3,7p file #只显示3-7行
touch rule #建立规则文件
sed -f rule file #使用规则文件更改输出
以上的操作均不会对原来的文本进行修改,若要修改,需要在前面加上-i
参数
awk
awk是一个超强的文本处理工具,甚至可以当做一个脚本语言来使用。这里只介绍一种常用的使用方式,那就是进行字符的分割。
以截取自己的局域网ip为例
[root@linux hexo]# ifconfig wlp1s0
wlp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.103 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::c6d9:87ff:fe5a:68f1 prefixlen 64 scopeid 0x20<link>
ether c4:d9:87:5a:68:f1 txqueuelen 1000 (Ethernet)
RX packets 313404 bytes 392626230 (374.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 213498 bytes 26747428 (25.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@linux hexo]# ifconfig wlp1s0|grep -w "inet"
inet 192.168.1.103 netmask 255.255.255.0 broadcast 192.168.1.255
[root@linux hexo]# ifconfig wlp1s0|grep -w "inet"|awk -F" " '{print $2}'
192.168.1.103
awk 的主要用法 -F参数后面接分隔的字符" "
后面接'{ }' $1 $2..
分别代表分隔出来的每一列,print $1
就是输出这一列
这只是awk的一种用法而已,awk算得上一个脚本语言,有自己独立的语法,就不一一概述
linux下常见的字符串处理的更多相关文章
- linux下常见解压缩命令
linux下常见的压缩文件格式有tar.gz.tar.gz.tar.bz2.zip等等.对于不同的压缩文件格式有对应的解压缩命令.下面就对此小结一下: 1.后缀为.tar 用 tar –xvf 解压 ...
- Linux下常见音频格式之间的转换方法
Linux下常见音频格式之间的转换方法[转] 下面简单介绍下Linux环境常见音频格式之间的转换方法: MP3 相关工具: lameOGG 相关工具: vorbis-toolsAPE 相关工具: ma ...
- linux下常见的包安装方式
linux下常见的包安装方式 一.总结 一句话总结: rpm包安装 tar.gz源代码包安装 yum方式安装rpm包 bin文件安装 1.yum是什么? 安装所有依赖的软件包 Yum(全称为 Yell ...
- Linux下常见命令
=============挂载和登陆命令======================================== Mount:挂载命令. 比方挂载光驱mount /dev/cdrom /mnt ...
- Linux下的格式化字符串漏洞利用姿势
linux最早的漏洞防护机制nx-stack刚刚出现后就有人想出了突破方法.那就是只有栈是不可执行,而除了栈以外的其他地方还是可以执行的,只要把返回地址执行别的地方就可以. 一.格式化字符串漏洞 格式 ...
- linux 下常见命令
===============安装和登陆命令============================================================= Mount: 挂载命令.把存储介 ...
- Linux下常用函数-字符串函数
inux下常用函数-字符串函数 atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 #include <stdlib ...
- [链接] Linux下常见的~/.bashrc、/etc/profile、/etc/ld.so.config小科普以及caffe编译遇到的相关问题解决
由于博主设置禁止转载,这里贴一个链接,http://blog.csdn.net/u014266895/article/details/61928602,内容很有用,linux下很多软件问题都是各种路径 ...
- linux下常见的性能分析工具
转载于:http://bian5399.blog.51cto.com/3848702/834715 性能调优的主要目的是使系统能够有效的利用各种资源,最大的发挥应用程序和系统之间的性能融合,使应用高效 ...
随机推荐
- 快速上手制作Icon Font
现在在提起Icon Font,已经不是什么新鲜的词汇了,网上已经有很多介绍它的文章,并且很多网站也已经将它用到,本篇主要是将制作Icon Font的整个流程整理一下,并且加入了自己在制作中遇到的问题, ...
- 1.UI初认识
前节:app是什么? app英文全称:application 应用程序,简称应用.也就是手机应用的简写 出处:http://www.cnblogs.com/mcj-coding/p/5098254.h ...
- Sql常用语法以及名词解释
Sql常用语法以及名词解释 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) D ...
- 【Java EE 学习 15】【自定义数据库连接池之动态代理的使用】
一.动态代理的作用 使用动态代理可以拦截一个对象某个方法的执行,并执行自定义的方法,其本质是反射 优点:灵活 缺点:由于其本质是反射,所以执行速度相对要慢一些 二.数据库连接池设计思想 1.为什么要使 ...
- Linux使用ssh-keygen实现SSH无密码登录
一.原理简介: 1.SSH公钥认证的基本原理: SSH是一个专为远程登录会话和其他网络服务提供安全性的协议.默认状态下SSH链接是需要密码认证的,可以通过添加系统认证(即公钥-私钥)的修改,修 ...
- Git-将已有的项目提交到Git
准备工作:1. 安装Githttp://git-scm.com/download/2.申请一个GitHub或者coding账号(coding为国产,不需FQ呦.两者方法基本相同,本文以coding为例 ...
- swiper框架,实现轮播图等滑动效果
http://www.swiper.com.cn/ 做个记录而已,这个没什么好说的,对于需要手机端开发实现触摸等方式可以看看.
- Daily Scrum Meeting ——NinthDay
一.Daily Scrum Meeting照片 二.Burndown Chart 三.项目进展 1.用户管理 2.下拉框与界面的整合 四.问题困难 黄志明(PM):Android Studio自带的S ...
- 循环遍历DataTable绑定到Table
VoteList2.cs: using System; using System.Collections.Generic; using System.Linq; using System.Web; u ...
- IOS_ios逆向工程-静态分析
返回博客列表 原 ios逆向工程-静态分析 余成海 发布时间: 2014/11/03 19:17 阅读: 11201 收藏: 17 点赞: 5 评论: 6 最近在学习IOS逆向工程,查看网络上的资料也 ...