Linux--shell重定向与文件处理命令--02
一、IO重定向
1、数据输入:键盘---标准输入,但并不是唯一输入方式
echo “” | passwd –stdin username #同时添加用户和密码 while line;do
循环体...$line
done < /etc/passwd
2、数据输出:显示器---标准输出,但并不是唯一输出方式
ls /etc/ > a.txt
3、fd文件标识符:0-9,被定义的文件标识符有0,1,2 作用相当于给文件分类
0 代表标准输出
1 代表标准输入
2 代表标准错误输出(标准错误)
4、常见重定向符号:
a) 标准输出:
> : 覆盖重定向(非常危险)
关闭覆盖重定向 set -C 这个命令使不能覆盖 set +C启用
>| :强制重定向
>> :追加重定向
b) 标准输入:
< 输入
<< 将多行数据同时输入
cat >> a.txt <<EOF
tr : 替换文件内容
#把passwd文件里的abc都替换为ABC,输出到passwd.bak中,abc是单个字符逐一匹配替换的
tr abc ABC < /etc/passwd > /etc/passwd.bak
c) 错误输出:
2> :不需要输出内容,只输出状态,把输出内容重定向到/dev/null
2>> : ls 12345 2>> a.txt
d) 混合输出,无论正确错误都输出重定向
&>
&>>
ls /etc/ &> /dev/null
二、管道符
将前一个命令的执行结果交给后一个命令执行
【Linux思想:结合小功能实现大功能】
free -m | grep “^Men” | cut -d” “ -f19
free -m | grep "^Mem" | awk '{print $3}'
命令:tee 一路输入,两路输出 (屏幕打印一次,保存文件一次)
如果没有文件,会创建,默认如果文件存在内容,会覆盖
练习:
将/etc/passwd文件中的前5行内容转换为大写后保存至/tmp/passwd.out文件中;
head - /etc/passwd | tr [a-z] [A-Z] > /tmp/passwd.out
将登录至当前系统上用户信息汇总的后3位信息转换为大写后保存至/tmp/who.out文件中;
who | tail - | cut -d' ' -f1 | tr [[:lower:]] [[:upper:]] | tee /tmp/who.out
三、文本处理工具
1、wc(word count)文本统计
用法:wc textfile 查看行数、字符个数、文件大小、文件名
参数:
-l:行数
-w:字符数
-c:文件大小
2、cut 文件分割
-d 指定分隔符
-f 指定提取哪一列
- -output-delimiter=’xxx’ 将输出的分隔符,替换为自己想用的分隔符
cut的局限性
不能同时指定多个分隔符
不能做高级的格式化输出
3、sort 排序,按照ASCII排序
参数:
-r 逆序
-n 以数值大小排序
-f 忽略字符大小写
-t 指定分隔符
-k 指定第几段进行排序
-u 排序去重复
4、uniq 去重
连续且相同的才视为重复
建议先排序,后去重
参数:
-c 统计某些字符出现的次数
-d 只显示重复的行
Linux--shell重定向与文件处理命令--02的更多相关文章
- Linux输入输出重定向和文件查找值grep命令
Linux输入输出重定向和文件查找值grep命令 一.文件描述符Linux 的shell命令,可以通过文件描述符来引用一些文件,通常使用到的文件描述符为0,1,2.Linux系统实际上有12个文件描述 ...
- 18 shell 重定向以及文件描述符
1.对重定向的理解 2.硬件设备和文件描述符 文件描述符到底是什么 3.Linux Shell 输出重定向 4.Linux Shell 输入重定向 5.结合Linux文件描述符谈重定向 6.Shell ...
- Linux下几种文件传输命令
Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具 ...
- shell 重定向以及文件描述符
1.对重定向的理解 Linux Shell 重定向分为两种,一种输入重定向,一种是输出重定向:从字面上理解,输入输出重定向就是「改变输入与输出的方向」的意思. 输入方向就是数据从哪里流向程序.标准输入 ...
- Linux下几种文件传输命令 sz rz sftp scp
Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具 ...
- [原创] Linux下几种文件传输命令 sz rz sftp scp介绍
Linux下几种文件传输命令 sz rz sftp scp介绍 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具.由于它是基于SSH的,会在传输过程中对用户的密码.数据等 ...
- 【Linux学习】Linux文件系统5—查看文件内容命令
Linux文件系统5-查看文件内容命令 cat: 由第一行开始显示文件内容 more: 一页一页地显示文件内容,空格键可以继续翻页显示下一页内容 less:与more类似,但是可以往前翻页 head: ...
- [转帖]Linux下主机间文件传输命令
Linux下主机间文件传输命令 https://yq.aliyun.com/articles/53631?spm=a2c4e.11155435.0.0.580ce8ef4Q9uzs SCP命令: ...
- [转帖]linux下的find文件查找命令与grep文件内容查找命令
linux下的find文件查找命令与grep文件内容查找命令 https://www.cnblogs.com/shileima/p/8431393.html 在使用linux时,经常需要进行文件查找. ...
随机推荐
- Linux命令学习-cp命令
Linux中,cp命令的全称是copy,主要作用是复制文件或文件夹,类似于Windows下的复制功能. 假设当前处于wintest用户的主目录,路径为 /home/wintest ,存在文件夹test ...
- Linux命令学习-mkdir命令
Linux中,mkdir命令的全称是make directory,即创建目录的意思. 假设当前处于wintest用户的主目录,路径为 /home/wintest ,存在文件夹testA,进入testA ...
- C语言学习书籍推荐《C Primer Plus(中文版)(第5版)》下载
普拉塔 (Prata S.) (作者), 云巅工作室 (译者) <C Primer Plus(中文版)(第5版)>共17章,介绍了C语言的基础知识,包括数据类型.格式化输入输出.运算符.表 ...
- android_layout_linearlayout(一)
这几天一直在研究线性布局这块,记录下一些研究心得,作为参考之用. 一.金刚钻:(线性布局,英文名 linearLayout) 布局xml文件中统大者是一个线性布局,它的长宽都已经fill_parent ...
- octavia的实现与分析(二)·原理,基本架构与基本流程
[了解] 其实说白了,Octavia就是将用户的API请求经过逻辑处理,转换成Haproxy或者Nginx的配置参数,下发到amphora虚机中. Octavia的内部实现中,逻辑流程的处理主要使用T ...
- HDU - 1232 畅通工程【并查集】
畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- 鸽巢原理及其扩展——Ramsey定理
第一部分:鸽巢原理 咕咕咕!!! 然鹅大家还是最熟悉我→ a数组:but 我也很重要 $:我好像也出现不少次 以上纯属灌水 文章简叙:鸽巢原理对初赛时的问题求解以及复赛的数论题目都有启发意义.直接的初 ...
- DML语言DDL
DML(data manipulation language): 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 . D ...
- 个人永久性免费-Excel催化剂功能第105波-批量调整不规范的图形对象到单一单元格内存储
在日常制表过程中,一个不得不面对的问题,许多的工作起点是基于其他人加工过的表格,无论自己多大的本领,面对不规范的其他人的制作的表格,经过自己的手,该擦的屁股还是要自己去亲手去擦,而带出来的也只会是一堆 ...
- LiteDB源码解析系列(3)索引原理详解
在这一章,我们将了解LiteDB里面几个基本数据结构包括索引结构和数据块结构,我也会试着说明前辈数据之巅在博客中遇到的问题,最后对比mysql进一步深入了解LiteDB的索引原理. 1.LiteDB的 ...