标准输出流默认不能随着管道流下,能够使用以下脚本:
ls n* 2> errors
2> 表明标准错误流的处理方式跟随标准输出流保持一致
vim:
1,$s/^/爱/ 给从第一行开始每行行头加上”爱“
15,$s/$/爱 给从第15行开始
每行
行尾加上“爱
”
1,$s/[0-9]/*/g 将全部的数字替换成*
1,$s/[^*]//g 将全部非*号字符删除掉
1,$s/^.\{10\}//g 删除每行前10个字符
cut:
ls -alh | cut
-c1
截取第一个字符
ls -alh | cut
-c1-20
截取第1到20个字符
ls -alh | cut -c1,20 截取第1个和第20个字符
ls -alh | cut
-c21-
截取从第21个字符后面全部
cut -d: -f6 passwd
以逗号切割passwd 取第6段
cut -d: -f1-6 passwd
以逗号切割passwd 取第1到6段
cut -d: -f1-6 passwd
以逗号切割passwd 取第1到6段
cut -d: -f1,6 passwd
以逗号切割passwd 取第1段和第6段
paste:
sed:
sed 's/z/*/' file
将file每行第一个z替换成*
sed 's/z/*/g' file
将file每行全部的z替换成*
sed -n '1,4p' shadow
只显示1~4行
sed -n '/ad/p' shadow
包括ad的行显示出来
sed '1,2d' names
删除文件中的1~2行
sed '/z/d' names
将包含z的行所有删除
sed '2a love'
在第二行后面追加love
sed '2i love'
在第二行前面追加love
tr:
tr : ^ < shadow 将全部:字符替换成<字符
tr '[a-z]' '[A-Z]' < passwd 将全部小写字符替换成大写字符
tr ':' '\11' < passwd 将全部冒号替换成制表符

已经存储于:h[0][0]c[0][0]
grep:
grep -vn 'z' names 显示不包含z的行,而且显示行号
grep -l 'in' *.log 在全部的log文件中查找in,只显示文件名
sort:
sort -u names 排序而且去重复
sort -r names 颠倒顺序(倒序)
sort names -o names 将排序后的结果从新写入源文件,此处不能用重定向操做符.重定向会破坏源文件,致使操做失败
sort -n num 按照算术排序(数字排序)
ls -l | sort -k 5 -n 按照第五列进行算术排序(文件大小排序)
uniq:
sort num|uniq 将num中重复行删除(使用sort的缘由是将num中的重复行排序成连续行)
sort num|uniq -d 将重复行显示出来
sort num | uniq -c 去重并显示重复次数,该命令带与不带-c选项区别就在因而否会显示重复次数
awk:
cat /etc/passwd | awk -F ':' '{print $0}' 用;分割,打印整行
awk -F ':' '{print $1}' /etc/passwd 用;分割,打印第一列
awk -F ':' 'BEGIN {print "print file begin"} {print $1} END {print "print file end"}' /etc/passwd 用;分割,打印第一列,而且在最前最后加上消息
版权声明:本文为博主原创文章,未经博主容许不得转载。vim