重定向和管道符
Posted yxq-123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重定向和管道符相关的知识,希望对你有一定的参考价值。
重定向和管道符
1、重定向(标准输入、标准输出、标准错误)
1、1数据输入
--键盘输入(标准输入),但不是唯一的输入方式
--stdin
例1:echo "123456" | passwd --stdin "username"
例2:功能添加用户useradd.sh user.txt文本文档1000个用户
./useradd.sh a
./useradd.sh b
...
./useradd.sh < user.txt
方法:
While lin;do
[循环体]$line
Done < /etc/passwd(将这个文件内容放进循环体)
1、2数据输出
--显示器(标准输出),但不是唯一输入
1、3文件标识符[0 - 9]
0 ---标准输入
1 ---标准输出
2 ---标准错误
1、4常见重定向符号
标准输出
>覆盖重定向
Set -C 去掉覆盖重定向功能
>| 强制重定向
>>追加重定向
标准输入:
< tr 替换文件内容
<< 将多行数据同时输入(用法 cat >>a.txt<<EOF)
错误输出
2>
拓展:不需要输出内容,只需要输出状态;
Ls /etc/ > /dev/null 2> /dev/null
$? -eq 0
2>>
&> &>> == 2&>1
Ls/etc/ &> /dev/null
2、管道符 -- tee
command1 | command2 | command3 | ...
前一个命令的执行结果交给后一个命令执行;
【Linux思想:结合小功能,实现大功能】
tee 一路输入,两路输出
tee /tmp/tee.out
如果没有文件,会创建文件,默认揉过文件存在有内容,会覆盖;
3、文本处理工具
3、1 sort : 排序
默认情况下是按照字符排序
-n : 按照数值排序
-u : 不出现重复的行(uniq)
-r : 逆向排序
-t : 指定分段的符号
-k : 指定的第几个段
-f :忽略字符大小写
3、2 uniq : 相当于sort -u
sort | uniq=sort -u
-u 只显示不重复的行
-d 只显示重复的行
-c 显示出现的几次
3、3 wc : 统计
-l 统计行数
-m 统计字符数
-w 统计词
3、4cut : 文件分割
-d 分隔符 (不能指定多个分隔符;不能高级格式化输出)
--Output -delimiter ‘’ 输出指定的分隔符
-f 指定段号
例:f2 指定第二列
-c 指定第几个字
以上是关于重定向和管道符的主要内容,如果未能解决你的问题,请参考以下文章