标签:linux sort tr find cut watch
sort
作用:将文本排序显示
常用选项:
-u 去除重复行
-r 降序(默认升序)
-n 以数值来排序
-t 指定分隔符
-k n以第n列来排序
实例:
[root@jacken ~]# cat hi a:2 b:3 b:1 b:1 c:4 d:5 [root@jacken ~]# sort -u hi a:2 b:1 b:3 c:4 d:5 [root@jacken ~]# sort -r hi d:5 c:4 b:3 b:1 b:1 a:2 [root@jacken ~]# sort -n hi a:2 b:1 b:1 b:3 c:4 d:5 [root@jacken ~]# sort -u -t : -k 2 -n hi b:1 a:2 b:3 c:4 d:5 [root@jacken ~]# sort -u -t : -k 2 hi b:1 a:2 b:3 c:4 d:5 [root@jacken ~]#
tr
作用:替换、删除字符
格式:tr -c -d -s ["string1_to_translate_from"] ["string2_to_translate_to"] < input-file
常用选项:
-c 替换所有不属于第一字符集的字符
-d 删除所有属于第一字符集的字符
-s 字符一替换为字符二
注释:
指定字符串1或字符串2的内容时,只能使用单字符或字符串范围或列表。
[a-z] a-z内的字符组成的字符串。
[A-Z] A-Z内的字符组成的字符串。
[0-9] 数字串。
\octal 一个三位的八进制数,对应有效的ASCII字符。
[O*n] 表示字符O重复出现指定次数n。因此[O*2]匹配OO的字符串。
实例:
[root@jacken ~]# cat hi a b b C D [root@jacken ~]# tr -s "a b" "A" < hi A A A C D [root@jacken ~]# tr [a-z] [A-Z] < hi A B B C D [root@jacken ~]# tr -d "b D"< hi a C [root@jacken ~]# tr -s "\n" < hi a b b C D [root@jacken ~]#
cut
作用:截取字符串
常用选项:
-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c :以字符为单位进行分割。
-d :自定义分隔符,默认为制表符。
-f :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的<br />范围之内,该字符将被写出;否则,该字符将被排除。
实例:
[root@jacken ~]# cat hi root:x:0:0:root:/root:/bin/bash [root@jacken ~]# cat hi | cut -b 5 : [root@jacken ~]# cat hi | cut -b 3-5,7 ot:: [root@jacken ~]# cat hi | cut -c 5 : [root@jacken ~]# cat hi | cut -c 4-6,8 t:x0 [root@jacken ~]# cat hi2 星期一 星期二 星期三 星期四 [root@jacken ~]# cat hi2 | cut -b 3 [root@jacken ~]# cat hi2 | cut -c 3 一 二 三 四 -c则会以字符为单位,输出正常;而-b只会傻傻的以字节(8位二进制位)来计算,输出就是乱码。 [root@jacken ~]# cat hi root:x:0:0:root:/root:/bin/bash [root@jacken ~]# cat hi | cut -d : -f2-4,6 x:0:0:/root [root@jacken ~]#
paste
作用:将多个文件内容合并
常用选项:
-d 指定分隔符
-s 将文本合并成一行
实例:
[root@jacken ~]# cat one two root:x:0:0:root :/root:/bin/bash 1:2:3 4:5:6 7:8:9 [root@jacken ~]# paste one two root:x:0:0:root 1:2:3 :/root:/bin/bash 4:5:6 7:8:9 [root@jacken ~]# paste -d "+" one two root:x:0:0:root+1:2:3 :/root:/bin/bash+4:5:6 +7:8:9 [root@jacken ~]# paste -s one two root:x:0:0:root :/root:/bin/bash 1:2:3 4:5:6 7:8:9 [root@jacken ~]#
uniq
作用:去除排序过的文件中的重复行
常用选项:
-c 在每列旁边显示该行重复出现的次数
-d 仅显示重复行的列
-u 只显示不重复的行
实例:
[root@jacken ~]# cat hi a a b c d d e [root@jacken ~]# uniq hi a b c d e [root@jacken ~]# uniq -c hi 2 a 1 b 1 c 2 d 1 e [root@jacken ~]# uniq -d hi a d
find
作用:查找某一文件或目录[做相应处理]
格式: find [选项] 路径 [动作]
常用选项:
-name 以文件名查找(支持通配符)
-size 以大小查找
-prem 以权限查找
-user 用用户宿主查找
-group 以用户组查找
-mtime -n +n 按文件更改时间查找 -n指n天以内,+n指n天以前
-ctime 按文件创建时间查找
-type 按文件类型查找
实例:
在/目录下查找属于用户jacken的名字包含jacken的文件并且大小超过15M且在一天内修改过,然后复制到/tmp下 [root@jacken ~]# find / -name *jacken* -user jacken -type f -size +15M -mtime -1 -exec cp {} /tmp/ \; [root@jacken ~]# ll /tmp/ total 20480 -rw-r--r-- 1 root root 20971520 Apr 1 10:18 jacken_file [root@jacken ~]#
watch
作用:实时监测命令运行结果
常用选项:
-d 高亮显示变动
-n 周期(秒)
实例:
[root@jacken ~]# watch -d -n .5 ls 每隔0.5秒ls一下
Ctrl+Z 可以将正在执行的命令放在后台运行
对于这些放在后台执行的命令,只在当前shell中可查看
jobs
作用:查看当前有多少命令在后台运行
fg
作用:将进程搬到前台运行
bg
作用:将进程搬到后台运行
实例:
[root@jacken ~]# jobs [root@jacken ~]# dd if=/dev/zero of=/dev/null bs=1G count=100 ^Z [1]+ Stopped dd if=/dev/zero of=/dev/null bs=1G count=100 [root@jacken ~]# cat /dev/zero >> /dev/null ^Z [2]+ Stopped cat /dev/zero >> /dev/null [root@jacken ~]# jobs [1]- Stopped dd if=/dev/zero of=/dev/null bs=1G count=100 [2]+ Stopped cat /dev/zero >> /dev/null [root@jacken ~]# bg 1 [1]- dd if=/dev/zero of=/dev/null bs=1G count=100 & [root@jacken ~]# jobs [1]- Running dd if=/dev/zero of=/dev/null bs=1G count=100 & [2]+ Stopped cat /dev/zero >> /dev/null [root@jacken ~]# bg 2 [2]+ cat /dev/zero >> /dev/null & [root@jacken ~]# jobs [1]- Running dd if=/dev/zero of=/dev/null bs=1G count=100 & [2]+ Running cat /dev/zero >> /dev/null & [root@jacken ~]# fg 1 dd if=/dev/zero of=/dev/null bs=1G count=100 ^Z [1]+ Stopped dd if=/dev/zero of=/dev/null bs=1G count=100 [root@jacken ~]# jobs [1]+ Stopped dd if=/dev/zero of=/dev/null bs=1G count=100 [2]- Running cat /dev/zero >> /dev/null & [root@jacken ~]# bg 1 [1]+ dd if=/dev/zero of=/dev/null bs=1G count=100 & [root@jacken ~]# jobs [1]- Running dd if=/dev/zero of=/dev/null bs=1G count=100 & [2]+ Running cat /dev/zero >> /dev/null & [root@jacken ~]#
本文出自 “一步步踏入Linux世界” 博客,谢绝转载!
标签:linux sort tr find cut watch
原文地址:http://linuxnote.blog.51cto.com/9876511/1635823