I/O重定向: 改变输入输出默认方向输入重定向:
<
输出重定向:
> 覆盖输出
set -C 禁止覆盖输出
set +C 启用覆盖输出
>| 强制覆盖输出
>> 附加输出
支持操作符:
1> 标准覆盖输出
2> 标准错误覆盖输出
&> 所有覆盖输出
1>> 标准附加输出
2>> 标准错误附加输出
&>> 所有附加输出
特殊用法:
1>&2 将标准输出转化为错误输出
2>&1 将标准错误输出转化为标准输出
输入优先于输出
# tr a-z A-Z > /tmp/test.txt
(): 合并对个命令的STDOUT
管道符’|’: 将前一命令的标准输出作为下一个命令的标准输入|& : 可将前一命令的标准输出和标准错误输出一并作为下一个命令的标准输入
tr从标准输入中翻译,挤压或删除字符,写入标准输出。
语法格式:
tr [options]... SET1 [SET2]
-c 将SET1以外的字符,替换为SET2
-d 删除SET1中的字符
-s 将SET1中连续字符压缩成一个
-t 将SET1中匹配的字符,替换为SET2 (默认)
替换时规则:
将SET1转换为SET2时,SET1的位数多于SET2时,SET1中多出的位数全部转换为SET2中最后一位字符.
如:
# echo aabbcc|tr abc de
-dc 仅保留SET1中字符
示例:
# echo abcd | tr -d a
# echo abcd | tr -c a 1
a1111
# echo abcd | tr -cd abc
abc
# echo aaaa::::bbbb|tr -s :
aaaa:bbbb
tee读取标准输入并保存至指定文件内
-a 追加内容至文件
命令1 | tee [-a] file| 命令2
使用:
保存不同阶段的输出
复杂管道的故障排除
同时查看和记录输出
示例:
echo hello|tee /tmp/test.txt|tr a-z A-Z
mailmail -s 'SUBJECT' USER
默认.结尾
或者 <