sort、cut、seq、shift、tr、bc、cat、tee常用命令的使用

sort:

    排序命令

  -f: 忽略字符大小写,不是-i

   -n: 以数值大小进行排序;默认以字符串大小排序,且是升序。

   -r: 降序;

   -u: 移除重复的行,具有相同内容的行只保留一个;

   -R: 随机排序;

   -t:指定分隔符

   -k:指定被分隔符分开的第几个段进行排序,后面无需空格。

#cut  -d:   -f3   /etc/passwd  |  sort -n   对passwd文件的第三段进行排序

#sort  -n   -t:  -k3  /etc/passwd  |  cut  -d:  -f1

   将paswwd文件中的用户名按照UID的大小进行排序。


cut:

   -d:指定分隔符,默认是空格,使用时-d‘  ‘。

   -f#:指定截取第几段

seq:

   用于在for脚本中制作数值范围

  # man  seq获得帮助

   seq [OPTION]... FIRST INCREMENT LAST

   seq  1  100,默认步进为1,所以这里是排列成从1到100.这里相当于{1..100}(但是{1..100}不能含有变量,而seq属于命令可以含有变量)

   seq   2  2  100,这里是步进为2,罗列出从2到100的所有偶数。


shift:

   bash内置变量,在脚本中用于轮替位置变量

   #!/bin/bash

   echo $1

   shift

   echo $1

   shift 1

   echo $1

   shift 2

   echo $1

sort、cut、seq、shift、tr、bc、cat、tee常用命令的使用


basename:

   取得路径的基名,用于脚本中取得执行脚本的文件名,例如basename  $0,

   相当于脚本中echo  ${VAR_NAME##*/}

dirname:

   取得路径的目录名,与上面相反。相当于echo  ${VAR_NAME%/*

exec  COMMMAND

   常用于脚本,结束父进程。比如关机是使用exec  /sbin/halt  -p关机




   bc:

   计算程序:

   可以指定计算精度,scale=#

   脚本中的使用方法:

   bc  <<<   “scale=#;被除数/除数”    (这里的scale可以省略,而除法也可以换为其他算法)

   shell中不支持浮点数,如果出现就会被圆整为整数,即四舍五入


uniq:

   -c:统计每行重复的次数;

   -u:只显示没有重复的行

   -d: 只显示重复过的行;两相同行必须挨着才算重复。


   tr:

   转字符

   tr [options]   ‘原来的字符集合‘   ‘转换后的字符集合‘

   tr  ‘123‘   ‘abc‘ 这样的写法只能使用管道符给以输入

   tr ‘123’  ‘abc‘  <  /test这样可以从abc这个文件直接输入了

   tr   -d  ‘123‘   <  /test  这样可以将test文件中的123这样字符给删除


   cat :

   重定向制作文件或显示,常用于脚本中制作提示选项 ,EOF表示遇到EOF这的字符就停止

       #cat  >   /test   <<  EOF

       >w

       >q

       w

       q

       这时既将wq两行字符输出屏幕,又写入了/test文件。若用于脚本,“>  /test”可以省略


   tee:

   将命令的输出写入文件的同时又输出到屏幕,就像一个“T”,一头进,两头出。

   tee只接受管道传输的字符

   cat  /etc/passwd  | tee  > /root/passwd.bak




sort、cut、seq、shift、tr、bc、cat、tee常用命令的使用

上一篇:VMware View 5.0从菜鸟到高手系列 9–远程图形工作站配置


下一篇:SSL证书相关技巧 -- 背景知识