sort(参考学习网站:http://www.cnblogs.com/dong008259/archive/2011/12/08/2281214.html)
功能:根据不同的数据类型进行排序
格式:sort [-cMnrtk][源文件][-o 输出文件]
说明:
如果有一个文件"1.txt",假如有一列数字,分别为1,2,2,3,5,4
-n: 依照数值的大小排序 --> 数字以字符进行排序时,2比10大 cat 1.txt | sort -n
-u: 在输出行中去除重复行 cat 1.txt | sort -u
-r:反序排列 cat 1.txt | sort -r
-o:将结果输出到源文件(如果使用sort -n 1.txt > 1.txt,将导致文件内容丢失 使用 sort -n 1.txt -o 1.txt)
-t(分隔符),-k(区间数):确定排序的列 -->sort -nr -t":" -k 3 /etc/passwd 将文件的第三列以数字的形式进行f反向排序
uniq(参考学习网站:http://blog.csdn.net/e421083458/article/details/37913181)
功能:读取输入文件,并比较相邻的行。可去除重复行。(使用前,需要用sort先进行排序)
格式:uniq [-cdu] 文件
说明:
-c:在输出行前面加上每行在输入文件中出现的次数
-d:仅显示重复行
-u:仅显示不重复的行
示例:cat /etc/passwd | awk -F":" '{print $7}'| sort |uniq -c --> 查看passwd中解释器种类及数量
cut(参考学习地址:http://www.cnblogs.com/dong008259/archive/2011/12/09/2282679.html)
功能:对文件进行内容选取,对所有行进行操作
格式:cut [-bcdfn] 文件
说明:
-b :以字节为单位进行分割。【这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志】(数字/字母/符号,一个一个字节,汉子为三个字节 echo "好的" | cut -b 4-6
-c :以字符为单位进行分割
-d :自定义分隔符,只能是单一character。这个区分与awk,有时候awk更为方便。
-f :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的<br />范围之内
示例:
cat /etc/passwd | cut -d":" -f7 |sort | uniq (查看/etc/passwd中所有用户地解释器种类有多少)
sed(学习参考地址:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.html、http://www.iteye.com/topic/587673)
功能:在线编辑器,自动编辑一个或多个文件,简化对文件的反复操作、编写转化程序等。不会改变原文件内容
次处理一行数据,首先将数据放入临时缓冲区中,sed命令处理缓冲区中的内容,完成后输出到屏幕。后接着处理下一行,知道结尾
地址:通过地址(数字)来指定编辑对应的行,以逗号分隔两个数字作为起始位置(含),例:1,5(第一行到第五行),$表示最后一行
格式:sed [-nefr] [动作]
说明:
-n:安静(silent)模式, 加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来
-e:多点编辑/命令,直接在命令列模式上进行 sed 的动作编辑
-i:直接修改读取的文件内容,而不是输出到终端(修改原文件)
-f:直接将 sed 的动作写在一个文件内, -f filename 则可以运行 filename 内的 sed 动作(不常用)
-r:sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法)(不常用)
动作部分
[n1,n2]动作
n1、n2为操作的作用地址,$是行尾
a:新增 ,a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c:取代,c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d:删除,因为是删除啊,所以 d 后面通常不接内容
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)
p:列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行
s :取代,可以直接进行取代的工作,通常这个 s 的动作可以搭配正则表达式!例如 1,20s/old/new/g
示例:
新增:sed '2a hello world' /etc/passwd:在第二行的后面新增一行;
sed '2,3a hhh' /etc/passwd (会在第三行和第四行都会增加hhh)
取代:sed '2,$c hhh' /etc/passwd (第二行到最后一行被取代)
删除:sed '2,$d' /etc/passwd :删除第二行到最后一行
插入:sed '2i hhh' /etc/passwd :第二行插入字符串,原第二行变成了第三行
sed '2,5i hhh' /etc/passwd :第二行到第五行中间都将插入字符串
列印:sed -n '2,3p' /etc/passwd:将第2,3行内容输出
补充:sed是常用正则表达式的一种命令,在此不做进一步深挖。可参考百度
功能:General Regular Expression Parser,通用正则表达式的缩写是,一种文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。在grep的基础还有扩展了egrep/fgrep等信息
格式:grep [-acinv] [--color=auto] '搜寻字符串' filename
说明:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示喔
-A(n):After,将查找的结果连后(n)行业显示出来
-B(n):Before,作用参上
-C(n):Center,作用参上
正则表达式
[ ]:匹配任意一个字符 -->grep -n "[1-9][3-9]" 匹配以1-9任意数据开始,后面跟3-9任意一个数字,则数据范围在13~99之间
[^]:反向选择
^、$:开始、结尾符, -->grep -n "^root.*root$" 匹配以root开头并以root结尾的行
.:至少有任意一个字符
?:任意一个字符,0或1个(需要使用grep -E)
*:重复前一个字符(串)n(n>=0)个
+:重复前一个字符1次以上(需要使用grep -E)
示例:
grep -A1 -n --color=auto "^hd.*/bash$" /etc/passwd >>以hd开始,/bash结尾,输出行数、对应行及下一行并高亮。
功能:目录结构中搜索文件,并执行指定的操作,涉及到较多搜索时,放到后台进行(命令结尾添加:&)
格式:find pathname [选项]
说明:
-name :按照文件名查找文件
-type:依据文件类型查找,
f:普通文件
d:目录
l:符号链接文件
b/c:块/字符设备文件
P:管道文件
-print:将匹配的文件输出到标准输出(-print0:不换行)
-size:匹配文件大小(K/M/G)
-perm:(permission)匹配文件权限进行查找
示例:find ~ -perm 755 -type d -name "demon*" (在家目录下查找权限是755以demon开头的目录)
-user/-group :匹配文件属主/组主进行文件查询。
示例:find ~ -user sunhuaj -name "hehe" (查找家目录下属主为sunhuaj名称为hehe的文件)
文件元数据:accesstime、modifytime、changetime
+:时间之前;-:时间之内(最近时间内)
-ctime:+/-n 根据文件的创建时间进行查找 【以天维度,跨度大;-cmin,分钟维度】
-atiime:+/-根据文件的访问时间进行查找【同上;-amin,分钟维度】
-mtime:+/-根据文件的修改时间进行查找【同上;-mmin分钟维度】
-exec cmd {} \;:find命令对匹配的文件执行该参数所给出的shell命令,注意“{}”与“\;”有空格
示例:
1、查找一天以内创建的1小时之前修改过的大于3M的文件
find ~ -ctime -1 -mmin 60 -size +3M -print
2、查找空文件/目录
find / -empty
3、查看目标文件的详细信息
find ~ -name "*shj*" -exec ls -l {} \;
功能:强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理
格式:awk '{pattern + action}' {filenames}
pattern:表示 AWK 在数据中查找的内容,为要表示的正则表达式,用斜杠括起来
action:找到匹配内容时所执行的一系列命令。
说明:花括号({})不需要在程序中始终出现,但它们用于根据特定的模式对一系列指令进行分组
示例:
a、last -n 5 | awk '{print $1}':显示最近登录的五个账号
awk工作流程是这样的:读入有'\n'换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是"空白键" 或 "[tab]键",所以$1表示登录用户,$3表示登录用户ip,以此类推
b、cat /etc/passwd | awk -F":" '{print $1}' :只显示/etc/passwd的用户
cat /etc/passwd | awk -F":" '{print $1"\t"$7}' :显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以tab键分割
c、cat /etc/passwd |awk -F ':' 'BEGIN {print "name,shell"} {print $1","$7} END {print "blue,/bin/nosh"}'
awk工作流程是这样的:先执行BEGING,然后读取文件,读入有/n换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域,随后开始执行模式所对应的动作action。接着开始读入第二条记录······直到所有的记录都读完,最后执行END操作
d、cat /etc/passwd | awk '/root/' :搜索有关键字rootde行
e、 awk -F: '/root/{print $7}' /etc/passwd:搜索/etc/passwd有root关键字的所有行,并显示对应的shell
sort(参考学习网站:http://www.cnblogs.com/dong008259/archive/2011/12/08/2281214.html)
功能:根据不同的数据类型进行排序
格式:sort [-cMnrtk][源文件][-o 输出文件]
说明:
如果有一个文件"1.txt",假如有一列数字,分别为1,2,2,3,5,4
-n: 依照数值的大小排序 --> 数字以字符进行排序时,2比10大 cat 1.txt | sort -n
-u: 在输出行中去除重复行 cat 1.txt | sort -u
-r:反序排列 cat 1.txt | sort -r
-o:将结果输出到源文件(如果使用sort -n 1.txt > 1.txt,将导致文件内容丢失 使用 sort -n 1.txt -o 1.txt)
-t(分隔符),-k(区间数):确定排序的列 -->sort -nr -t":" -k 3 /etc/passwd 将文件的第三列以数字的形式进行f反向排序
uniq(参考学习网站:http://blog.csdn.net/e421083458/article/details/37913181)
功能:读取输入文件,并比较相邻的行。可去除重复行。(使用前,需要用sort先进行排序)
格式:uniq [-cdu] 文件
说明:
-c:在输出行前面加上每行在输入文件中出现的次数
-d:仅显示重复行
-u:仅显示不重复的行
示例:cat /etc/passwd | awk -F":" '{print $7}'| sort |uniq -c --> 查看passwd中解释器种类及数量
cut(参考学习地址:http://www.cnblogs.com/dong008259/archive/2011/12/09/2282679.html)
功能:对文件进行内容选取,对所有行进行操作
格式:cut [-bcdfn] 文件
说明:
-b :以字节为单位进行分割。【这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志】(数字/字母/符号,一个一个字节,汉子为三个字节 echo "好的" | cut -b 4-6
-c :以字符为单位进行分割
-d :自定义分隔符,只能是单一character。这个区分与awk,有时候awk更为方便。
-f :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的<br />范围之内
示例:
cat /etc/passwd | cut -d":" -f7 |sort | uniq (查看/etc/passwd中所有用户地解释器种类有多少)
sed(学习参考地址:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.html、http://www.iteye.com/topic/587673)
功能:在线编辑器,自动编辑一个或多个文件,简化对文件的反复操作、编写转化程序等。不会改变原文件内容
次处理一行数据,首先将数据放入临时缓冲区中,sed命令处理缓冲区中的内容,完成后输出到屏幕。后接着处理下一行,知道结尾
地址:通过地址(数字)来指定编辑对应的行,以逗号分隔两个数字作为起始位置(含),例:1,5(第一行到第五行),$表示最后一行
格式:sed [-nefr] [动作]
说明:
-n:安静(silent)模式, 加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来
-e:多点编辑/命令,直接在命令列模式上进行 sed 的动作编辑
-i:直接修改读取的文件内容,而不是输出到终端(修改原文件)
-f:直接将 sed 的动作写在一个文件内, -f filename 则可以运行 filename 内的 sed 动作(不常用)
-r:sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法)(不常用)
动作部分
[n1,n2]动作
n1、n2为操作的作用地址,$是行尾
a:新增 ,a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c:取代,c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d:删除,因为是删除啊,所以 d 后面通常不接内容
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)
p:列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行
s :取代,可以直接进行取代的工作,通常这个 s 的动作可以搭配正则表达式!例如 1,20s/old/new/g
示例:
新增:sed '2a hello world' /etc/passwd:在第二行的后面新增一行;
sed '2,3a hhh' /etc/passwd (会在第三行和第四行都会增加hhh)
取代:sed '2,$c hhh' /etc/passwd (第二行到最后一行被取代)
删除:sed '2,$d' /etc/passwd :删除第二行到最后一行
插入:sed '2i hhh' /etc/passwd :第二行插入字符串,原第二行变成了第三行
sed '2,5i hhh' /etc/passwd :第二行到第五行中间都将插入字符串
列印:sed -n '2,3p' /etc/passwd:将第2,3行内容输出
补充:sed是常用正则表达式的一种命令,在此不做进一步深挖。可参考百度
功能:General Regular Expression Parser,通用正则表达式的缩写是,一种文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。在grep的基础还有扩展了egrep/fgrep等信息
格式:grep [-acinv] [--color=auto] '搜寻字符串' filename
说明:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示喔
-A(n):After,将查找的结果连后(n)行业显示出来
-B(n):Before,作用参上
-C(n):Center,作用参上
正则表达式
[ ]:匹配任意一个字符 -->grep -n "[1-9][3-9]" 匹配以1-9任意数据开始,后面跟3-9任意一个数字,则数据范围在13~99之间
[^]:反向选择
^、$:开始、结尾符, -->grep -n "^root.*root$" 匹配以root开头并以root结尾的行
.:至少有任意一个字符
?:任意一个字符,0或1个(需要使用grep -E)
*:重复前一个字符(串)n(n>=0)个
+:重复前一个字符1次以上(需要使用grep -E)
示例:
grep -A1 -n --color=auto "^hd.*/bash$" /etc/passwd >>以hd开始,/bash结尾,输出行数、对应行及下一行并高亮。
功能:目录结构中搜索文件,并执行指定的操作,涉及到较多搜索时,放到后台进行(命令结尾添加:&)
格式:find pathname [选项]
说明:
-name :按照文件名查找文件
-type:依据文件类型查找,
f:普通文件
d:目录
l:符号链接文件
b/c:块/字符设备文件
P:管道文件
-print:将匹配的文件输出到标准输出(-print0:不换行)
-size:匹配文件大小(K/M/G)
-perm:(permission)匹配文件权限进行查找
示例:find ~ -perm 755 -type d -name "demon*" (在家目录下查找权限是755以demon开头的目录)
-user/-group :匹配文件属主/组主进行文件查询。
示例:find ~ -user sunhuaj -name "hehe" (查找家目录下属主为sunhuaj名称为hehe的文件)
文件元数据:accesstime、modifytime、changetime
+:时间之前;-:时间之内(最近时间内)
-ctime:+/-n 根据文件的创建时间进行查找 【以天维度,跨度大;-cmin,分钟维度】
-atiime:+/-根据文件的访问时间进行查找【同上;-amin,分钟维度】
-mtime:+/-根据文件的修改时间进行查找【同上;-mmin分钟维度】
-exec cmd {} \;:find命令对匹配的文件执行该参数所给出的shell命令,注意“{}”与“\;”有空格
示例:
1、查找一天以内创建的1小时之前修改过的大于3M的文件
find ~ -ctime -1 -mmin 60 -size +3M -print
2、查找空文件/目录
find / -empty
3、查看目标文件的详细信息
find ~ -name "*shj*" -exec ls -l {} \;
功能:强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理
格式:awk '{pattern + action}' {filenames}
pattern:表示 AWK 在数据中查找的内容,为要表示的正则表达式,用斜杠括起来
action:找到匹配内容时所执行的一系列命令。
说明:花括号({})不需要在程序中始终出现,但它们用于根据特定的模式对一系列指令进行分组
示例:
a、last -n 5 | awk '{print $1}':显示最近登录的五个账号
awk工作流程是这样的:读入有'\n'换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是"空白键" 或 "[tab]键",所以$1表示登录用户,$3表示登录用户ip,以此类推
b、cat /etc/passwd | awk -F":" '{print $1}' :只显示/etc/passwd的用户
cat /etc/passwd | awk -F":" '{print $1"\t"$7}' :显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以tab键分割
c、cat /etc/passwd |awk -F ':' 'BEGIN {print "name,shell"} {print $1","$7} END {print "blue,/bin/nosh"}'
awk工作流程是这样的:先执行BEGING,然后读取文件,读入有/n换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域,随后开始执行模式所对应的动作action。接着开始读入第二条记录······直到所有的记录都读完,最后执行END操作
d、cat /etc/passwd | awk '/root/' :搜索有关键字rootde行
e、 awk -F: '/root/{print $7}' /etc/passwd:搜索/etc/passwd有root关键字的所有行,并显示对应的shel
- Linux下命令sort, uniq
标题:sort, uniq 一.sort命令的使用 1. 作用:sort命令顾名思意,其可以帮助我们进行排序,而且可以依据不同的数据类型来排序.例如数字和文字的排序就不一样,sort可以指 ...
- linux sort,uniq,cut,wc命令详解
linux sort,uniq,cut,wc命令详解 sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些 ...
- (转)linux sort,uniq,cut,wc命令详解
linux sort,uniq,cut,wc命令详解 sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些 ...
- 【转帖】linux sort,uniq,cut,wc,tr,xargs命令详解
linux sort,uniq,cut,wc,tr,xargs命令详解 http://embeddedlinux.org.cn/emb-linux/entry-level/201607/21-5550 ...
- Linux高级命令进阶(week1_day2)
Linux高级命令进阶(week1_day2)--技术流ken 输出重定向 场景:一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候 ...
- Linux进阶命令-sort、uniq、 cut、sed、grep、find、awk
命令难度总体来说有简入难,参数都是工作中常常用到的.如果涉及到一些生僻的参数还请百度或man一下. sort(参考学习网站:http://www.cnblogs.com/dong008259/arch ...
- 文本处理命令(sort+uniq+cut+tr+wc)+三剑客之sed
目录 文本处理命令+三剑客之sed 一.文本处理命令 1.排序命令 sort 2.检查/删除命令 uniq 3. cut 显示特定部分命令 4. 替换或删除命令 tr 5.统计 计算数字命令 wc 二 ...
- linux sort,uniq,cut,wc,tr命令详解
sort是在Linux里非常常用的一个命令,对指定文件进行排序.去除重复的行 sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sor ...
- 文件上传下载,命令之wget / curl / which / sort / uniq / cut / wc /tr /sed
目录 命令 1.文件的上传下载 2.从外网下载文件wget 3.curl文件下载 4.查找命令which 5.字符处理命令-排序sort 6.字符处理-去重uniq 7.字符处理-截取cut 8.字符 ...
随机推荐
- PHP限制上传文件大小
在php.ini中修改如下变量,如要限制为100M upload_max_filesize = 100M post_max_size = 100M 重启Apache
- ThinkCMF X1.6.0-X2.2.3框架任意内容包含漏洞分析复现
ThinkCMF X1.6.0-X2.2.3框架任意内容包含漏洞分析复现 一.ThinkCMF简介 ThinkCMF是一款基于PHP+MYSQL开发的中文内容管理系统框架,底层采用ThinkPHP3. ...
- 从零开始用刚买的阿里云实例搭建lnmp环境(非集成包)
一.安装前 1. 更新系统软件: yum update 2. 查看是否已安装wget: rpm -qa wget 否则安装: yum install wget 3. 查看是否已安装编译器: rpm - ...
- 《Effective Java》 读书笔记(四) 使用私有构造方法执行非实例化
在许多时候,我们会写一个类,这个类只是用来提供一些静态方法或静态属性,就好像C++的函数一样,比如 java.lang.Math,java.util.Arrays等,但是有时候这些类的用户可能会在无意 ...
- 洛谷P2107 【小Z的AK计划】
#include<iostream> #include<queue> #include<algorithm> using namespace std; struct ...
- vimrc备个份
set mouse=a set number set smartindent set expandtab set tabstop=4 set shiftwidth=4 set hlsearch set ...
- CSS(5)---通俗讲解盒子模型
CSS(5)---盒子模型 盒子模型四个关键字:内容(content).填充(padding).边框(border).边界(margin), CSS盒子模式都具备这些属性. 一.概念 1. 概念 盒子 ...
- 格式工厂转化成mp4 avc格式 暴风影音不能播放的解决方法
格式工厂转化成mp4 avc格式 暴风影音不能播放的解决方法 先转成其他mp4 确保能播放 然后再转成avc
- 【北京/上海/南京】【部门直推】【可查询】【实习&社招】字节跳动数据平台前端内推
[北京/上海/南京][部门直推][可查询][实习&社招]字节跳动数据平台前端内推 重要信息,写在前面 [投递邮箱]chengxinsong@bytedance.com [微信扫码] 2019 ...
- WordPress代码高亮插件SyntaxHighlighter终极使用详解
子曰: 工欲善其事,必先利其器.作为码农一枚,再加上站长这个已经不再光鲜的称呼,岂能没有一款经济实用.操作简单.而且功能必须强大.样式也必须好看的Wordpress代码高亮插件?!作为一个视代码如生命 ...