查看端口占用情况
netstat -tuanp
centos6 linux禁用IPv6,解决大量 TIME_WAIT ::ffff:127.0.0.1:59299
linux shell 用sed命令在文本的行尾或行首添加字符
http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html
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
5
awk多文件输出
- awk '{ if(NF==3)print $0 > 1;else print $0 > 2 }' 0
在BEGIN模块设定随机数种子srand(),在逐行读取文件的模块输出随机数rand()。
其中rand()的大小在(0,1)之间。
- awk -F"\t" 'BEGIN{
- srand();
- }{
- value=int(rand()*100);
- print value
- if(value<=10)
- print value"\t"NR
- }'
注意,srand()需要写在BEGIN模块,才能正常产生随机数,这是awk的工作机制决定的。
交集,把两个文件放到一起排序,只输出次数多于一次的项:
$ sort a.txt b.txt | uniq -d
b
c
求一个文件的差集(A-B)
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