文本工具常用用法

1、head命令
显示文档前面指定的区域
-n <行数>:指定显示内容的行数
-c <字符数>:指定显示内容的字符数
-v :总是显示文件名 (查看多文件的时候默认显示文件名)
-q :不显示文件 (查看多文件可以隐藏文件名)

显示前面三行

[[email protected] ~]# head -n3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

显示前面三个字节

[[email protected] ~]# head -c3 /etc/passwd
roo

显示文件名称

[[email protected] ~]# head -v -n3 /etc/passwd
==> /etc/passwd <==
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

同时显示多个文件的前面三行

[[email protected] ~]# head -v -n3 /etc/passwd /etc/my.cnf
==> /etc/passwd <==
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

==> /etc/my.cnf <==
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

2、tail命令
显示文档后面指定的区域
-n <行数>: 显示文件尾部行数(查看多文件默认显示文件名)
-q: 查看多文件内容时,不显示文件名
-f: 显示追加的内容,监视文件的变化

显示尾部三行

[[email protected] ~]# tail -n3 /etc/passwd
ntp:x:38:38::/etc/ntp:/sbin/nologin
coremail:x:500:500::/home/coremail:/bin/bash
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

实时更新messages内容到屏幕

[[email protected] ~]# tailf /var/log/messages
Feb 18 05:39:02 app rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="895" x-info="http://www.rsyslog.com"] rsyslogd was HUPed

3、wc 命令
-l:统计文件行数
-c: 统计文件字节数
-m:统计文件字符数
-L:计算文件中最长行的长度

[[email protected] ~]# wc -l /etc/passwd
23 /etc/passwd
[[email protected] ~]# wc -m /etc/passwd
1037 /etc/passwd
[[email protected] ~]# wc -c /etc/passwd
1037 /etc/passwd
[[email protected] ~]# wc -L /etc/passwd
68 /etc/passwd

4、cut命令
-b <起始字节位置-结束字节位置>:仅显示指定的字节范围的内容
-c <起始字符位置-结束字符位置>:仅显示指定的字符范围的内容
-d <字段分隔符>:指定字段分隔符,默认是"tab"
-f <起始字段位置-结束字段位置>:显示指定的字段内容(和-d连用)
-n : 与-b连用,不分割多字节字符
-s : 不显示未包含分隔符的行
--output-delimiter :指定输出内容的字符分隔符

显示每行2-10个字节

[[email protected] ~]# head -n3 /etc/passwd |cut -b 2-10
oot:x:0:0
in:x:1:1:
aemon:x:2

显示每行2-10个字符

[[email protected] ~]# head -n3 /etc/passwd |cut -c 2-10
oot:x:0:0
in:x:1:1:
aemon:x:2

使用指定分隔符,显示第一列

[[email protected] ~]# head -n3 /etc/passwd |cut -d: -f1
root
bin
daemon

同上

[[email protected] ~]# head -n3 /etc/passwd |cut -d":" -f1
root
bin
daemon

使用指定分隔符,显示1,2,3列

[[email protected] ~]# head -n3 /etc/passwd |cut -d : -f1,2,3
root:x:0
bin:x:1
daemon:x:2

使用自定义的分隔符,显示1,2,3列

[[email protected] ~]# head -n3 /etc/passwd |cut -d : -f1,2,3 --output-delimiter="+"
root+x+0
bin+x+1
daemon+x+2

5、sort命令
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-f 排序时,忽略大小写字母。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o <输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t <分隔字符> 指定排序时所用的栏位分隔字符。
-k 选择以哪个区间进行排序。

-u 去处重复

[[email protected] ~]# sort -u a.log
filesystem-2.4.30-3.el6.x86_64
libgcc-4.4.7-4.el6.x86_64
setup-2.8.14-20.el6_4.1.noarch
xml-common-0.6.3-32.el6.noarch

-r 倒序排列

[[email protected] ~]# sort -r a.log
xml-common-0.6.3-32.el6.noarch
setup-2.8.14-20.el6_4.1.noarch
libgcc-4.4.7-4.el6.x86_64
filesystem-2.4.30-3.el6.x86_64

-n 使用数值排序

[[email protected] ~]# sort -n a.log
filesystem-2.4.30-3.el6.x86_64
libgcc-4.4.7-4.el6.x86_64
setup-2.8.14-20.el6_4.1.noarch
xml-common-0.6.3-32.el6.noarch

-k 指定字段排序(需要和-t配合使用)

[[email protected]pp ~]# sort -n -k 2 -t ‘-‘ a.log
xml-common-0.6.3-32.el6.noarch
filesystem-2.4.30-3.el6.x86_64
setup-2.8.14-20.el6_4.1.noarch
libgcc-4.4.7-4.el6.x86_64

6、uniq命令

-c :在行首显示重复的次数
-d :只显示重复的内容,重复的行只输出一次
-D :只显示重复的内容,重复所有内容
-i : 忽略大小写
-u :只显示不重复的行

在行首显示重复的次数

[[email protected] ~]# sort abc |uniq -c
2 a
1 A
2 aaa
1 b
1 bbb
1 ccc

忽略大小写

[[email protected] ~]# sort abc |uniq -ic
3 a
2 aaa
1 b
1 bbb
1 ccc
[[email protected] ~]# sort abc |uniq -d
a
aaa
[[email protected] ~]# sort abc |uniq -D
a
a
aaa
aaa

只显示不重复的行

[[email protected] ~]# sort abc |uniq -u
A
b
bbb
ccc
时间: 2024-10-12 10:45:12

文本工具常用用法的相关文章

Linux文本处理常用命令

1.正则表达式 (1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如/.*.?等)组成.  (2)基本元字符集及其含义      ^ :只匹配行首.   如^a 匹配以a开头的行abc,a2e,a12,aaa,......      $ :只匹配行尾.   如^a 匹配以a结尾的行bca,12a,aaa,.......      * :匹配0个或多个此单字符. 如(a)* 匹配 空,a,aa,aaa,....      [] :只匹配[]内字符

shell编程基础之基本文本工具集合

一 shell简介: 1 描述 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言.Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务.Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell.shell环境shell和Java.php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行脚本

log4j的常用用法

最近一段时间一直在用别人封装好,配置好的日志类记录日志,感觉挺好奇的.下面就记录一下用log4j处理日志的常用用法. 至于log4j是什么,我不清楚,暂时也觉得没必要太深入,只知道是处理日志比较好的选择. Game Starts 参考文档 1)官方pdf文档 2)配置log4j(和详细) 3)Log4j 的日志级别 依赖jar包 1)log4j-api-2.0.2.jar    2)log4j-core-2.0.2.jar [D] 主要的类 1)Logger 看名字也就知道是干什么的了,就是靠他

二十八、Linux下Vim工具常用命令

在linux下做开发,甚至是只做管理维护工作,也少不了Vim的使用.作为一个新手,我也是刚刚接触,本节将我日常使用或收集的Vim常用命令记录下来. 当然,直接在命令行上输入:vimtutor,就可以学习到Vim的所有命令了.Vim很强大,很多牛人在vim里集成很多插件什么的,但这里只介绍基本vim命令 移动命令 h "左 j "下 k "上 l "右 w "光标移动到下一个单词的首字符 a word forward b "光标移动到上一个单词的首

文本工具三剑客:sed

文本工具三剑客:sedsde是一种流编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓存区,称为 模式空间    用法:    sed [选项] [加自己的语言] [要处理的文件]    选项:        -n  不输出模式中的内容至屏幕            # sed -n "10p" f2 只打印出第10行匹配到的行 其他不显示            10  UUID=07a475f4-3d7a-4b27-9ec9-500bc8a19c4d /boot      

centos的vi常用用法

centos的vi常用用法 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它.Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻. 1.vi的基本概念  基本上vi可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底

第十六章 在文件中搜索文本工具:grep命令 和egrep命令

第十六章 在文件中搜索文本工具:grep命令 和egrep命令 名词解释 grep(global search regular expression(RE)and print out the line,全面搜索正则表达式并把行打印出来) grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. 选项 - -a :不要忽略二进制数据 - -A <显示行数>:除了显示符合范本样式的那一行之外,并显示该行之后的内容. - -b :在显示符合范本样式的那一行之外,并显示该行

压力测试工具tsung用法简介

tsung是用erlang开发的一款简单易用的压力测试工具,可以生成成千上万的用户模拟对服务器进行访问.目前对tsung的理解也仅限于会简单的应用,其内部结构没有深入研究过. 1.安装 tsung是用erlang编写的,所以首先安装erlang的运行环境.然后就是按照tsung的官网下载编译tsung.需要注意的是,生成测试报告需要gnuplot和perl的支持,其中perl需要安装Template扩展.具体安装过程请看相关手册或者google之. 2.配置文件 默认情况下,tsung会加载配置

Objective-C NSString的常用用法

//1.创建常量字符串. NSString *astring = @"This is a String!";   //2.创建空字符串,给予赋值. NSString *astring = [[NSString alloc] init]; astring = @"This is a String!"; [astring release]; NSLog(@"astring:%@",astring);//NSString *astring = [[NS