赞
踩
默认的标准输入输出为屏幕,对其重定向可指定输入输出的位置
输入输出 | 重定向 | 意义 |
---|---|---|
stdin | < / << | < 重定向到文件中去读取,<< 表示结束输入的字符 |
stdout | > / >>或1>/1>> | 覆盖/追加重定向到指定文件 |
stderr | 2> / 2>> | 覆盖/追加重定向到指定文件 |
如下,将输出重定向到temp,若要同时重定向stdout和stderr,则要使用 > temp 2>&1或 &> temp
下面表示利用 cat 将输入文字输出到catfile 中, 当输入eof 时就结束
管道可将命令通过 | 重定向到下一个命令,不过其只能重定向stdout即成功执行的命令
命令 cut 可按指定字符分割数据,-d 指定分割字符,-f 取出第几段,-c 以字符为单位取出固定范围内的字符,如下以 : 分割取出第2和第四个
若正常输出 export 显示如下
参数 -c 可处理整齐的格式化输出,如下从第12个字符开始输出
命令 head 显示文件的前几行,-n 指定显示的行数
命令 grep 过滤信息,列出所查找关键字所在的位置,-a将binary文件以text文件方式搜索,-c计算找到的字符串个数,-i忽略大小写,-n输出行号,-v反向选择,–color=auto 将找到的关键字加上颜色,-r递归查找并显示文件夹,-l只显示文件名而不显示具体内容
默认的grep已自动加上–color=auto,如上查找test1及反向查找
命令 sort 默认通过字符串排序,-f忽略大小写,-b忽略前面的空白字符,-M以月份排序,-n以数字排序,-r反向排序,-u仅显示一行,-t 指定分割符号(默认为tab),-k指定排序的列所在的区间
如上按照字符串排序,如下以 : 分割按照第2列的数字排序
命令 uniq 在去除重复行显示一行,-i忽略大小写,-c计数,如下根据第一列排序去除重复的行并统计出现次数
命令 wc 可统计文件行数、字数、字符数,-l仅显示行数,-w仅显示字数,-m仅显示字符数
命令 tee 会将管道流同时送到文件与stdout,-a 以累加的方式加入到文件
命令 tr 用来删除或替换一段信息中的文字,-d 指定删除字符串,-s 替代重复字符串,如下将小写转为大写
命令 col 加上参数 -x 将可将tab转换成等长的空白键,如下^I代表tab
命令 join 将两个文件中相同那一行合并在一起(默认对比以空白为分割的第一个字符),-t指定分割符和拼接符,-i忽略大小写,-1 n指定用第一个文件的第n个字符对比,-2 n 指定用第二个文件的第n个字符对比
如上将第一个字符相同的行合并,如下将1.txt的第二个字符和2.txt的第一个字符对比合并,将相同字符放到第一位
命令 patse 无需对比直接将两个文件对应的行合并在一起,默认用tab拼接,-d 指定拼接符,- 表示文件来自stdin(即将要输出的文件合并)
如上直接拼接1.txt和2.txt,如下将1.txt的输出拼接到2.txt
命令 expand 将tab转为空白键,-t 指定转换的空白个数,如下将tab转为2个空格
命令 split 可用于分割文件,-b 指定欲分割的大小(可加单位),-l 以行数分割
如上利用dd创建一个650k的文件,再以每个300k进行分割,如下利用重定向将分割文件合并回去
命令 xargs 将前面命令的结果作为参数传递给后面,-0 将前面结果的特殊字符还原成一般字符,-e 指定结束字符串,-p 每次执行后面的指令时先询问,-n 指定要使用几个参数
如上,将find找到的txt文件传递给命令ls -l 作为参数
符号 - 可将前面命令的参数同时作为后面命令的参数,如下将mysapces打包然后解压到/tmp
命令 sed -option [num1,num2]action 可实现对文件替换、删除、新增等操作
如下删除第3到最后一行(省略-e)
如下在第2行后插入
如果要增加多行使用 \ 换行书写
如下替代2-3行
如下只显示2-3行
如下将ab替换成大写
如下利用正则提取cd
如下直接修改原文件在末尾添加一行
命令 awk ‘condition{action}’ 可按分割符对每一行分割并进行处理,此外还有一些内置变量
变量名 | 意义 |
---|---|
NF | 每行的分割列数 |
NR | 目前第几行 |
FS | 设置分隔符,默认为空白键 |
如下仅输出第二列($0表示一整行)
如下输出第一列及变量NR和NF
如下加上条件,即从第二行开始输出
如下将num1和num2加起来并格式化输出
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。