shell工作

两个文件求和,按照某咧

awk 'NR==FNR{a[$1]=$2;next}NR>FNR{if($1 in a) a[$1]+=$2 }END{for(x in a)print x"\t"a[x]}' 1.txt 2.txt

awk 'NR==FNR{a[$1]=$2;next}NR>FNR{if($1 in a) b[$1]=a[$1]+$2 }END{for(x in b)print x"\t"b[x]}' 1.txt 2.txt

array=(bill   chen  bai   hu);

        num=${#array[@]}                          //获取数组元素的个数。

 

 ps aux |grep -v USER | sort -nk +4 | tail  按照内存使用大小排序

 

find com -name *.class | xargs grep 'FetchRMRBTemplate'  遍历一个目录下的所有文件找关键字

 find . -name "*.xml" | xargs wc -l  统计每个文件,和所有文件的和的总行数

Shell脚本调试工具set

具体使用方法:首先使用set -x开启调试模式,最后使用命令set +x关闭调试模式

 

[root@localhost shell]# cat hello.sh
#!/bin/bash
# This is a test script.
# 2013/12/20#使用set命令的选项x,启动调试模式set -x

NAME=Jhon

 

echo $NAME

 

echo "Hello,$NAME"#使用+x表示关闭调试模式set +x

 

 

[root@localhost shell]# ./hello.sh+ NAME=Jhon+ echo Jhon
Jhon+ echo Hello,Jhon
Hello,Jhon+ set +x

 

 

awk '{sum=sum+$3} END {print sum}' 1.log  第三列的和

comm -3 <(sort 3.log|uniq ) <(sort 2.log|uniq ) | sed 's/^\t//'  差集

 comm -12 <(sort 3.log|uniq ) <(sort 2.log|uniq ) | sed 's/^\t//' 交集

grep -F -f 2.log 3.log 交集

grep -F -f -v 2.log 3.log 差集

cat s.txt  | sed -e '/^$/d' >> s.0.txt 去掉文件的空行

sed  -n  '2, 10!p'  input  //表示打印出非2--10行的行

sed:-i:与-e的区别在于:当使用-e时,sed执行指令并不会修改原输入文件的内容,只会显示在bash中,而使用-i选项时,sed执行的指令会直接修改原输入文件。

删除:d命令 
$ sed '2d' example-----删除example文件的第二行。

$ sed '2,$d' example-----删除example文件的第二行到末尾所有行。

$ sed '$d' example-----删除example文件的最后一行。

$ sed '/test/'d example-----删除example文件所有包含test的行。

sed 's/w/a/g' s.txt  文件中的 w 替换问a

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/u/1388024/blog/178846

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值