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

linux--文本处理

2013-10-14 21:02 162 查看
开源文化的核心理念之一就是不要重复发明轮子,很多开源软件都大量使用了其他开源软件或功能组建,同样,Linux中的命令也往往只实现某个特定的、单一的功能,复杂功能往往都是通过多命令协作完成的

管道及重定向就是Linux多命令协作的基础机制

Linux的Shell对数据流进行以下分类定义:

stdin 标准输入 编号为:0 默认:键盘

stdout 标准输出 编号为:1 默认:终端

stderr 标准错误 编号为:2 默认:终端

重定向用来控制终端数据流:

> 将标准输入以覆盖形式重定向到指定文件,如:ls > outfile

>> 将标准输入以追加形式重定向到指定文件,如:ls >> outfile

< 重定向标准输入 如:grep linuxcast < /etc/passwd

2> 重定向标准错误

2>&1 将标准错误合并到标准输出中

管道“|”用以将一个命令的标准输出作为另一个命令的标准输入:

命令1 | 命令2

管道通常用来组合不同命令

重定向通常用来保存输出信息

关键字搜索:

grep 关键字 指定文件

-i 搜索时忽略大小写

-n 显示结果所在行

-v 显示不包含关键字的行

基于列的文本处理:

cut -d: -f1 /etc/passwd

-d 指定分割字符

-f 指定显示列

-c 基于字符顺序进行列分割

文本统计:

wc linuxcast

-l 只统计行数

-w 只统计单词书

-c 只统计字节数

-m 只统计字符数

文本排序:

sort linuxcast

-r 倒序排序

-n 基于数字进行排序

-f 忽略大小写

-u 删除重复行

文本比较:

diff linuxcast-1 linuxcast-2

-i 忽略大小写

-b 忽略空格数变化

-u 统一显示信息(一般用于生成patch文件)

文本转换:

tr -d "TMD" < linuxcast 删除指定关键字

tr 'a-z' 'A-Z' < linuxcast 转换大小写

搜索替换:

sed 's/linux/unix/g' linuxcast 将所有linux关键字替换为unix
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: