最近因为编译一些文件,刚开始接触一些shell命令,感觉很神奇,用途还蛮大的,所以做了一些笔记,命令的顺序可能比较乱,功能也不会说的很全。
1. Cut 命令
Cut 命令用来截取字符中的某一段,很靠谱,cut命令有5个参数,其中-c,-b,-f分别表示"character", "byte"以及"field"截取方式。这三种截取方式只能采用一种?
以下列举出两种用法:
(1): echo hello, world | cut -c 8-12 , 在这种用法中,截取是按照字符位置进行截取 -c 的后面指定要截取的字符范围.
(2): echo hello, world | cut -f 1 -d ',' , -d 表示‘delimiter’, 即分隔符, 如在本例中就可以是‘ ’(空格), ','(逗号), -f 后面的数字表示由分隔符分隔出来的parts中的第几部分。
2. grep
这个命令往往需要正则的知识 -E 选项.
cat test | grep -E reg
这种需要输入的命令经常回需要和cat以及管道(|)连在一起使用.
3 $符号的用法
- # 注释开始
- & 在后台执行一个进程
- ? 匹配一个字符
- * 匹配0到多个字符(与DOS不同,可在文件名中间使用,并且含.)
- $- 使用set及执行时传递给shell的标志位
- $! 最后一个子进程的进程号
- $# 传递给shell script的参数个数
- $* 传递给shell script的参数
- $@ 所有参数,个别的用双引号括起来
- $? 上一个命令的返回代码
- $0 当前shell的名字
- $n (n:1-) 位置参数
- $ 进程标识号(Process Identifier Number, PID)
by the way, $@ 是分开的字串, $* 是一个字串. 所有$*不会为空,但$@可能是什么参数都没有。
关于$,引用自http://dogdogcom.blog.51cto.com/2402458/493596.