Linux 常用文本命令 总结

查看端口占用情况


netstat  -tuanp



centos6 linux禁用IPv6,解决大量 TIME_WAIT ::ffff:127.0.0.1:59299

没设置好 很多服务无法访问
http://www.qbage.com/post/48-centos6-disable-ipv6.html

linux shell 用sed命令在文本的行尾或行首添加字符

http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html



 jq : Linux下json的命令行工具

http://blog.chinaunix.net/uid-24774106-id-3830242.html



文本处理


1

linux 多行转换为 单行   每5行合并成一行

awk '{if(NR%5) {ORS=""} else {ORS="\n\n"};print;}'


2

建立索引

awk   'NR==FNR { a[$2]=$1; next } {{printf $1} for(i=2;i<=NF;i++) { printf " "a[$i]" "} {print ""} } ' deerwester.txt  company >company_index

变量自增

 i=`expr $i + 1`


3

sed 文件的 一行   
     content =`sed -n "${i},${dd}p"  user_index_Inverseindex`

4

awk \t , 分割  。for  变量处理 $i 字段
     echo $content |awk 'BEGIN{FS="[\t =,]"}{for(i=2;i<NF;i++) {printf " "$i" "} print " "}' >>red_index


awk多文件输出

  1. awk '{ if(NF==3)print $0 > 1;else print $0 > 2 }' 0  

6 随机数

在BEGIN模块设定随机数种子srand(),在逐行读取文件的模块输出随机数rand()。

其中rand()的大小在(0,1)之间。

[python]  view plain copy
  1. awk -F"\t" 'BEGIN{  
  2.     srand();  
  3. }{    
  4.     value=int(rand()*100);  
  5.     print value  
  6.     if(value<=10)  
  7.         print value"\t"NR  
  8. }'  

注意,srand()需要写在BEGIN模块,才能正常产生随机数,这是awk的工作机制决定的。

7
假设 a.txt 包括 a, c, b 三行。假设 b.txt 包括 d, e, c, b 四行。

交集,把两个文件放到一起排序,只输出次数多于一次的项:
$ sort a.txt b.txt | uniq -d
b
c


求一个文件的差集(A-B)
[root@rhlei aaa]# cat a
1
2
3
4
[root@rhlei aaa]# cat b
2
4
5
6
[root@rhlei aaa]# sort a b |uniq -u
1
3
5
6
[root@rhlei aaa]# sort a b b |uniq -u
1
3



并集,把两个文件放到一起排序,重复的项只算一次:
$ sort a.txt b.txt | uniq
a
b
c
d
e

差集(A-B),把B的元素重复2份和A的元素放到一起排序,只输出出现一次的项:
$ sort a.txt b.txt b.txt | uniq -u
a

对称差,把两个文件放到一起排序,只输出出现一次的项:
$ sort a.txt b.txt | uniq -u
a
d
e




bash script: find max, group by and sort by column

http://stackoverflow.com/questions/15397205/bash-script-find-max-group-by-and-sort-by-column

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值