您的位置:首页 > 运维架构 > Shell

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

2015-12-11 10:32 381 查看
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 删除所有重复出现字符序列,只保留第一个;

删除换行制表:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cut末尾 uptime cut seq