重定向和管道符

  1. 重定向--tr

程序 = 指令+数据

       命令  变量

数据输入:键盘--标准输入,但是并不是唯一输入方式

--stdin

echo “123456”|passwd--stdin”username”

while line(变量);do

循环体

done < /etc/passwd

数据输出:显示器---标准输出,但是并不是唯一输入方式

  ls /etc/ > a.txt

fd文件标识符0-9

0 1 2

0--标注输出

1--标准输入

2--错误输入输出(标准错误)

常见重定向符号

1、标准输出

>    覆盖重定向、非常危险

set-C 去掉覆盖重定向功能

set+C 不去掉覆盖重定向功能

>| 强制重定向

>>   追加重定向(不覆盖)

2、标准输入

< 把后面的内容交给前面的内容  tr:替换

tr set1[set2] < file.txt

 

<< cat将多行数据同时输入

cat >>a.txt << EOF

>1

>2

>3

>EOF

3、错误输出

2>  2>>

拓展:不需要输出内容只需要输出状态;

ls /etc/ > /dev/null

if[ $-eq 0];then

循环体

fi

&> &>> == 2&>1

ls /etc/&> /dev/null

  1. 管道 -tee

command1 | command2 | command3|.....

前一个命令的执行结果交给后一个命令来执行;

结合小功能实现大功能

提取219

free -m|grep”^Mem”|cut -d’ ‘ -f19

free -m|grep”^Mem”|awk’{print $3}’

Tee

一路输入两路输出(屏幕输出一次保存一次)如果没有文件会创建默认如果文件存在内容会覆盖

tee /tmp/tee.out

  1. 文本处理工具 - wc,cut,sort,uniq

cut  文件分割

-b 切割字节

-c 字符

-d 指定分隔符(delimiter-d[:]

-f 提取哪一列

-f1 第一列

-f1-3 1-3

-f1,3 13

- -output - delimeter=’xx’

局限性:1.-d指定分隔符不能同时指定多个

 2.不能做高级格式化输出

 

wc    word count 统计文本文件中的字符个数  

用法:wc filename

-l 行数

-w 字符个数

-c 文件大小

文件名

uniq 去重 处理相邻的重复行(连续且相同)建议先排序后去重

-c 统计某些字符重复的次数   sort filename |uniq -c

-d 显示重复的行

-u 显示不重复的行

uniq -c a.txt   显示行数

sort 按阿斯克码排序 默认查看第一个字符 包括数字字母空格和特殊符号

-r 逆序

-f忽略字符大小写

-u uniq 排序去重重复的不显示

-n 指定以数值大小的进行排序

-t delimiter指定字符段分隔符     cut-d

-k #已定字段的第几段进行排序 cut-f

cat b.txt | sort -n(升序)/-nr(降序)

sort a.txt |uniq -c |sort -nr |head -1 显示出现次数最多的一行

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

head -5 /etc/passwd|tr[a-z] [A-Z]>/tmp/passwd.out

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

who |tail -3|cut -d’ ‘-f1|tr[:lower:][:upper:]|tee /tmp/who.out

tail 查看文件尾部行数默认10

-n 指定查看几行(tail -n 5/etc/passwd==tail -5/etc/passwd

-f 实时查看文件更新内容

tail -f /var/log/message

head 查看文件头部多少行(默认10行)

-n ##行,简写-#

10- 20行: head-20 /etc/passwd|tail -10

 取出/etc/passwd文件中的第6到10行,将这些信息按照3个字段的数值大小进行排序,最后仅显示各自的第一个字段: head /etc/passwd |tail -5 |sort -t: -k3 -n | cut -d":" -f1

posted @ 2019-08-13 20:57  Youngstrayschoolgirl  阅读(167)  评论(0编辑  收藏  举报