查看端口占用情況
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