1. cut
cut -d '分隔字符' -f fields
cut -c 字符范围
参数:
-d:后面接分隔字符,与-f一起使用
-f : 依据-d的分隔字符将一段信息切割成数段,用-f取出第几段的意思
-c: 以字符(characters)的单位取出固定字符区间
例子:
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
echo $PATH | cut -d ':' -f 5 以:为分隔符,取出第五个,即/sbin
echo $PATH | cut -d ':' -f 3,5 以:为分隔符,取出第三个到第五个,即/usr/sbin,/ usr/bin/,sbin
export | cut -c 12-取出第12个字符以后的所有字符
export | cut -c 12-20取出第12到第20个字符
2. grep
ls -al | grep vmware 找出包含vmware的行
ls -al | grep -v vmware 找出不包含vmware的行
3. sort
参数:
-f :忽略大小写
-b:忽略最前面的空格部分
-M:以月份的名字来排名
-n:使用纯数字来排序,默认的是以文字类型来排序的
-r: 反向排序
-u:就是uniq,相同的数据中,近出现一行
-t:分隔符,默认的是Tab键来分隔
-k:以哪个区间来进行排序
例子:
cat /etc/passwd个人帐号都记录在这个文件中
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
以:为分隔符,以第3列来排序
cat /etc/passwd | sor -t ':' -k 3 -n
4. uniq
uniq -i -c
参数:
-i:忽略大小写
-c: 进行计数
5. wc
参数:
-l:仅列出行
-w:仅列出多少个字(英文单词)
-m:多少字符
6. tee双向重定向
ls -al | tee a.out
将ls -al的内容输出到屏幕上之外,再保存到a.out文件当中
tee -a file 以累加(append)的方式,将数据加入到file当中
7. tr
tr [-ds] set1
参数:
-d: 删除信息当中set1这样的字符 串
-s: 文字信息的替换
tr -s '[a-z]' '[A-Z]' 将所有的小写变成大写
8. col
-x : 将tab键转换成对等的空格键
-b: 在文字内有反斜杠时,仅保留反斜杠最后接的那个字符
9. join
将两个文件中有相同数据的那一行加在一起
join [-fi12] file1 file2
参数:
-t:join默认以空格符来分隔数据,并且对比第一个字段的数据,如果两个文件相同,则将两个数据连成一行,并且第一个字段放在第一个
-i: 忽略大小写
-1:代表第一个文件要用哪个字段来分析
-2:第二个文件用哪个字段来分析
join -t ':' /etc/passwd /etc/group
10. paste
相对与join必须要对比两个文件的数据关联性,paste就直接将两行贴在一起,且中间以tab键隔开
paste /etc/passwd /etc/group
11.split
split [-bl] file PREFIE
参数:
-b: 后面接想要切割文件的大小,可以加单位,如b,k,m
-l: 以行数来进行切割
PREFIX:作为切割后文件的前导符
split -b 300k /etc/termcap termcap
split -l 10 -test 每10行记录成一个文件