目录
特殊符号
* # *任意个任意字符
? # ?任意一个字符
# # 注释字符
\ # 脱义字符
| # 管道符
- 脱义字符
a=1
b=2
c=\$a\$b
echo c
$a$b
- cut命令,截取字符串
cut 分割, -d分隔符 -f指定段号 -c指定第几个字符
cat /etc/passwd |head
cat /etc/passwd |head -2 |cut -d ":" -f 1
cat /etc/passwd |head -2 |cut -d ":" -f 1,2
cat /etc/passwd |head -2 |cut -d ":" -f 1-3
- soft排序命令
sort排序 -n以数字排序 -r反序
了解
-t分隔符 -kn1/-kn1,n2
会先排列符号,在排序数字,然后在排列字母。
-n以数字排序,字母和符号会被认为是0,所以排在前面。
- 统计行数
wc -l 统计行数 -m统计字符数 -w统计词数
w以空白字符作为分隔符
- uniq去重
uniq filename
去重是去临近的,所以需要先排序后去重
sort filename |uniq -c
- tee和>有点像,tee重定向和打印输出
- tr是替换字符的
ccho "langman" |tr '[lm]' '[LM]]'
echo "langman" |tr 'a' 'A'
echo "iangmean |tr '[a-z]' '[A-Z]'
echo "iangmean |tr '[a-z]' '1'
- split切割,-b大小 -l行数
split -b 100M filename # 针对大小
split -l 1000 filename # 针对行数
特殊符号
$ 变量前缀,!$组合,正则表达式表示行尾
多条命令写一行用;分隔
~用户家目录,正则表达式表示匹配符
&放到命令后面,会把命令丢到后台
> 输出
>> 追加重定向
2> 输出错误
2>> 输出
&> 正确+错误全部输出
[] 指定字符中的一个 [0-9],[a-zA-Z],[abc]
|| 或者的意思
;第一条命令不管对错,都会继续执行。
||第一条如果执行不成功会执行第二条,第一条成功了,则不执行第二条命令
&&
前面的命令错了,则不再执行后面的命令,必须正确才继续执行后面的命令
示例
[ -d langman ] || mkdir langman
&&短路命令