天天看点

9.一些shell编程中命令的累积

seq: -s “ ” 100 以“ ”为为分隔符 从1数到100(默认换行输出) seq -s + 10 以某个符号分割输出从1-n

seq -w 10:

last

first last

first 步长 last

倒序:

eval: eval会对后面的cmdLine进行两遍扫描,如果第一遍扫描后,cmdLine是个普通命令,则执行此命令;如果cmdLine中含有变量的间接引用,则保证间接引用的语义。   举例如下: set 11 22 33 44 如果要输出最近一个参数,即44,可以使用如下命令, echo $4 但是如果我们不知道有几个参数的时候,要输出最后一个参数,大家可能会想到使用$#来输出最后一个参数, 如果使用命令: echo "\$$#" 则得到的结果是 $4,而不是我们想要的44。这里涉及到一个变量间接引用的问题,我们的本意是输出 $4,默认情况下,命令后忽略变量间接引用的情况。 这时候,就可以使用eval命令。 eval echo "\$$#" 得到的结果为44

uptime: 打印系统如下信息:

cut: <切割利器> -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。 -c :以字符为单位进行分割。 -d :自定义分隔符,默认为制表符。 -f  :与-d一起使用,指定显示哪个区域。 -n :取消分割多字节字符。仅和 -b 标志一起使用 egg: $ cat /etc/passwd|head -n 5|cut -d : -f 1 root bin daemon adm lp

tail -f a.log: 查看一个文件结尾的变化 grep -v xxx: 是指不显示包含xxx的行或文件,-v表示取反的意思

tr: <实现简易版的sed功能> -c 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII。 -d 删除字符串1中所有输入字符。 -s 删除所有重复出现字符序列,只保留第一个;

删除换行制表: