W5-C5-0424

五周第五次课(4月24日)
8.10 shell特殊符号cut命令
8.11 sort_wc_uniq命令
8.12 tee_tr_split命令
8.13 shell特殊符号下
相关测验题目:http://ask.apelearn.com/question/5437
扩展

  1. source exec 区别 http://alsww.blog.51cto.com/2001924/1113112
  2. Linux特殊符号大全http://ask.apelearn.com/question/7720
  3. sort并未按ASCII排序 http://blog.csdn.net/zenghui08/article/details/7938975

1. cut命令

1.1 cut截取

cat /etc/passwd | head -2 | cut -d ":" -f 1,2
cat /etc/passwd | head -2 | cut -d ":" -f 1-3
cat /etc/passwd | head -2 | cut -c 4
-d: 指定分隔符, 默认为tab键, 可不加引号, 如-d-, -d:
-f: 指定段号
-c: 指定第几个字符
-s: 不包括那些不含分隔符的行,用于去掉注释或标题等信息

1.1.1 -f和-c的范围说明

N: 只取第N项
N-: 从第N项一直到行尾
N-M: 从第N项到第M项 (含M项)
-M: 从第一项到第M项 (含M项)
-: 从第一项开始到结束的所有项

1.2 示例

uname -r | cut -d- -f1
获取内核版本号

选取从第1个到第4个路径,包括第4个路径
echo $PATH | cut -d: -f-4

选取从第1个到最后一个路径的所有路径
echo $PATH | cut -d: -f- (测试无效)

选取第1到第3个路径和第5个路径
echo $PATH | cut -d: -f1-3,5

2. sort_wc_uniq命令

2.1 sort排序

默认按asc码排序
-n 以数字排序 (字母和特殊符号会认为是0)
-r 反序
-t 分隔符 用得不多
-k n1-k n1,n2 针对第几段排序
http://blog.csdn.net/zenghui08/article/details/7938975 排序的几个细节问题

2.2 wc统计

wc -l 统计行数
wc -m 统计字符数
wc -w 统计单词

2.3 uniq去重

-c 统计重复次数
sort 1.txt |uniq -c 先排序再去重

3. tee_tr_split命令

3.1 tee 重定向并打印到屏幕, 和>类似

sort 2.txt |uniq -c > a.txt
sort 2.txt |uniq -c | tee a.txt
tee -a 追加
>a.txt 清空(直接重定向)

3.2 tr 替换字符.

translate or delete

echo "aminglinux" |tr 'a' 'A'
echo "aminglinux" |tr '[al]' '[AL]'
echo "aminglinux" |tr '[a-z]' '[A-Z]'

3.3 split 切割

-b 大小
split -b 1000 a.txt 默认单位为字节
split -b 100M a.txt
split -l 1000 a.txt
split -b 1000 a.txt abc 指定前缀abc
-l lines 行数

4. shell特殊符号

$ 变量前缀, !$组合, 正则里表示行尾
~ 正则表达式表示匹配符
& 放命令后, 把命令丢到后台
>
>>
2>
2>>
&> 正确和错误都重定向到一个文件
[] 指定字符中一个
|| 两条命令中第一条执行成功不再执行第二条
&& 两条命令中第一条执行成功执行第二条
ls la.txt && wc -l 2.txt
[ -d aminglinux ] || mkdir aminglinux 目录不存在则创建

未经允许不得转载:外贸SOHO笔记 » W5-C5-0424

赞 (0) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下作者~

支付宝扫一扫打赏

微信扫一扫打赏