shell常用文件处理命令

重定向就是分别代表 标准输入 和标准输出
标准输入:代码为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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值