cut
- 以行 为单位的剪切。
- -d : 后面接分隔字符 一般与 -f 配合使用
- -f :根据 -d 分隔字符分隔为数段,用-f 取出 第几段
- -c :以字符的单位取出固定字符区间
- -c 10- 表示 从第10个字符开始
- -c 10-20 表示 截取第10到20之间这段字符
grep
- -a 将二进制文件以文本文件的方式查找数据
- -c 计算找到 **‘查找数据’**的次数
-i 忽略大小写
- -n 输出所在行号
- -v 反向选择.
- –color =aoto 可以将找到的关键字部分加上颜色显示
sort
排序显示
- -f 忽略大小写
- -b 忽略最前的空格字符部分
- -n 使用纯字符形式排序
- -r 反向排序
- -t 分隔符号
- -k 以哪个区间来进行排序 .通常配合 -t
cat /etc/passwd | sort -t ":" -k 3
# 表示以 : 为分隔 以第3列来进行排序显示
uniq
- -i 忽略大小写
- -c 进行计数
last | cut -d " " -f 1 | sort | uniq -c
# 取出帐号栏,进行排序,仅取出 一列并统计.
tee
- 将数据 分送一>文件 另一输出到屏幕
- -a 以累加方式写入到文件
ls -l / | tee /tmp/txx
# 表示 显示根目录所有数据 ,并把显示的数据 写一份到/tmp/txx文件中.
#如果加 -a 就是累加写入而不是覆盖
tr
用来删除或是替换一段信息中的文字
- -d 删除信息中-d 后面的这个字符
- -s 压缩字符
- -s 后面' '单引号内放入需要压缩的字符,可以不分隔连续书写
echo "thissss is teest tr" | tr -s ' se'
# 表示压缩 **'空格 s 和 e '**三个字符
this is test tr
echo "hello 123 world 456" | tr -d '0-9'
hello world
echo "HELLO WORLD" | tr 'A-Z' 'a-z'
hello world
join
将两个文件中有相同数据 的那一行才加到一起
- -t join 默认是以空格为分隔数据 ,并且比对 [第一栏]数据 如果相同则连接成一行
- -i 忽略大小写
- -1 数字1 第一个文件要拿哪列来做比对
- 比如 -1 3 表示 第一个文件拿第 3 列出来 做比对
- -2 数字2 第二个文件拿哪列出来 做比对
- 比如 -2 4 表示 第二个文件拿第 4 列出来 做比对
join -t ":" -1 1 /etc/passwd -2 1 /etc/shaow
# 表示把passwd的以 : 分隔的第一列和 shadow的第一列出来做比较,
# 两者相同则把其连接为一行
# 且 把相比较的那一列提到最前面
paste
和join 不同的是它不比较直接把两个文件粘连 在一起
- -d 后面接分隔字符 默认是TAB
-
- 如果file 部分写 - 表示 来自标准输入的数据
paste -d "=" /etc/passwd /etc/shadow
# 就是把这两个文件第一行与第一行相连
cat /etc/group | paste -d "=" /etc/passwd /etc/shadow -
# 把passwd shadow 粘连之后 再和group 粘连
split
文件太大可以用它通过大小,或行数来切分成多个文件
- -b 后面接划分的文件大小 可加单位 k m g
- -l 以行数来进行划分
split -b 12k /etc/services test
# 表示 把services 截分成多个文件
# 以12k大小的文件 testaa,testab....
split -l 2 /etc/passwd pass
# 表示 把passwd 文件切分成每2行为一个文件名字Passaa,passab...
- 要把这些切分出来的文件再度合成…可以通过重定向
cat pass* >> passwd