重定向就是分别代表 标准输入 和标准输出
标准输入:代码为0,使用 < 或者 <<;
标准输出:代码为2,使用 > 或者 >>;
标准错误输出:代码为2,使用2> 或 2>>;
标准输入:键盘输入文本输出到aa.txt文件中,将bb.txt里面的数据放到aa.txt中
cat >aa.txt; cat > aa.txt < bb.txt
键盘输入数据遇到g自动退出
cat > catcat <<"g"
标准输出:将aaa.txt的文件重定向到outtext里面(会覆盖outtext所有内容)
cat aaa.txt > outtext(覆盖);cat aaa.txt >> outtext(累加aaa.txt的数据)
标准错误输出:将正确的信息放到一个文件里。然后将错误的信息放到一个文件里,或者黑洞里
ls 1> 11.txt 2>22.txt。错误信息放到黑洞直接回收 ls 1> 11.txt 2>/dev/null
真正用法:假如关掉另外一台集群的节点
ssh slave1 <<"eof"
cd /usr/local/hadoop/
mkdir cattest
hadoop-daemon.sh stop datanode
eof
ssh slave1 <<"eof"
hadoop-daemon.sh stop datanode
eof
切分字段并排序 (cut -d)
cut -d ':' -f1 /etc/passwd
取第几个字段到第几个字段
cut -c 1-10 /root/file/1.txt
取第几个字段到第几个字段并输出几行(tail -n)(head -n也可以)
cut -c 1-10 /root/file/1.txt | tail -n 4
取第几个字段到尾巴
cut -c 1-(自定义) /etc/hosts
在文件中找数据(-i 忽略大小写, -n 可以输出行号,-c查找到的次数,-v反向选择,高亮 --color=auto)
cat /etc/hosts | grep 'master' 或者grep 'master' /etc/hosts
cat /etc/hosts | grep -n 'slave' 显示行号
cat /etc/hosts | grep -c --color=auto 'slave' 查找到的次数
cat /etc/hosts | grep -n --color=auto 'slave' 高亮
统计文本里面有几行hello(wc 可以统计行数 字节 文件名字)
grep -c 'hello' /root/file/1.txt 和wc 1.txt
文档统计以某个字段结$
grep 'e$' 1.txt
文档统计某个字段开头^
grep '^e' 1.txt
去掉文档空行记录(使用反转-n 显示行号)
grep -v '^$' 1.txt
文档排序
按照第一个字段排序
grep -n | sort 2.txt
按照字符顺序排序
cat /root/file/2.txt sort -t '.' k3 | head -n 5
也是一种排序 (head -n 是输出几行的意思)
cat /root/file/2.txt sort -t '.' k3 -n | head -n 5
uniq去重
去除重复的
last | cut -d ' ' -f1 | sort | uniq 2.txt
去除重复的并且计算出出现几次
last | cut -d ' ' -f1 | sort | uniq 2.txt -c
split切分
将文件以2m进行分块切割
spilt -b 2 2.txt
指定前缀
spilt -b 2 2.txt pre