码迷,mamicode.com
首页 > 其他好文 > 详细

10-IO重定向、管道及文本处理工具

时间:2016-10-11 22:02:12      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:定向   管道   

bash的快捷键


Ctrl+l : 清屏 相当于clear命令:

Ctrl+a:跳转至命令开始处:

Ctrl+e:跳转至命令结尾处:

ctrl+c :取消命令的执行

ctrl+u:删除命令行首至光标所在处的所有内容:

Ctrl+k:删除光标所在处至命令行尾部的所有内容:


4 、bash的的I/O重定向及管道

程序: 指令+数据

读入数据:Input

输出数据:output

打开的文件都有一个fd: file descriptor (文件描述符)

    标准输入:keyboard ,0

标准输出:monitor 1

标注错误输出: monitor 2

I/O重定向:改变标准位置

输出重定向: echo AAA > LLL, AAA >>> LLL

>:覆盖重定向,目标文件中的原有内容会被清除:

>>:追加重定向,新的内容会追加至目标文件尾部:

#set -C:禁止将内容覆盖输出至已有文件中:

强制覆盖: >|

#set +C:


2>:覆盖重定向错误输出数据流:

2>>:追加重定向错误输出数据流:


标准输出和错误输出各自定向至不同位置:

tail -100 /etc/rc.d/rc.sysinit >  /tmp/sysinit.out 2> /tmp/sysinit.err 

 

合并标准输出和错误输出为同一个数据流进行重定向:

&>覆盖重定向

&>> 追加重定向


COMMANO > /path/to/file.out 2> &1 

COMMANO > /path/to/file.out 2>> &1


输入重定向:<

tr命令:转换或删除字符

 tr [OPTION]... SET1 [SET2]

 

 HERE Documentation: <<

#cat << EOF

#cat> /path/tosomefile <<EOF

管道:

COMMANO1 |COMMANO2 |COMMANO3 |...

Note:最后一个命令会在当前shell进程的子shell进行执行:

tee

tee [OPTION]... [FILE]...


 

练习:

将/etc/password文件的文件中的前5行内容转换为大写后保存至/tmp/passwd.out文件中:

head -n 5 /etc/passwd |tr "a-z" "A-Z" > /tmp/passwod

将登录至将前系统上用户信息的后3位的信息转换为大写后保存至 /tmp/who.out文件中:

who | tail -n 3  | tr ‘a-z‘ ‘A-Z‘ >/tmp/who.out


文本处理工具: wc , cut , sort ,uniq

 

wc命令:

   wc [OPTION]... [FILE]...

-l:lines 显示行数字

-w: words 显示单词数

-c:characters 显示字节数

cut命令:

cut [OPTION]... [FILE]..

-d DELIMITER:指明分隔符

-f FILEDS:

#:第#个字段

#,#[,#] 高散的多个字段 例如1,3.7

#-#:连续的多个字段 例如1-7

混合使用: 1-3,7

--output-delimiter=STRING

sort命令:

sort [OPTION]... [FILE]...

-f:忽略大小写

-r:逆序

-t DELIMITER:字段分隔符

-k #:以指定字段为标准排序

-n以数值大小进行排序

-u uniq:排序后去重

uniq命令:

uniq  [OPTION]... [FILE]...

-c:显示每行重复出现的次数:

-d仅显示重复过的行:

-u:仅显示不管重复的行

Note:连续且完全相同方为重复

练习:

以冒号分隔,取出/etc/passwd文件的第6至第10行 并将这些信息按第3个字段的数值大小进行排序:最后仅显示的各自的第1个字段:




[root@localhost ~]# cut -d: -f6-10 /etc/passwd |cut -f3 | sort -n |uniq -c


本文出自 “linux自动化运维” 博客,请务必保留此出处http://10803682.blog.51cto.com/10793682/1860822

10-IO重定向、管道及文本处理工具

标签:定向   管道   

原文地址:http://10803682.blog.51cto.com/10793682/1860822

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!