1.从原始投放日志筛选相关字段:
awk -F '\x01' 'BEGIN{OFS="\t"}{print $1,$3,$5,$6,$7,$8,$9,$10,$13,$16,$17,$18,$19,$22,$23}' total_2016-7-13-14-15/* > /data/wq/data_process/testdata/after_awk_13-14-15
2.根据某一字段选取字段:
awk -F "\t" '$15==1{print $1,$15}' orginfile> newfile 打印一行所有记录:awk -F "\t" '$15==1{print;}' orginfile> newfile
3.按第三列降序排列
sort -t $'\t' -rn -k3 user_his_ctr > sort_user_his_ctr
4.根据条件,按列求和
awk 'BEGIN{sum=0}{if($2>=0.2){sum+=$3}}END{print 0.2,sum}' test
=========》 awk '{if($2>=0.2){sum += $3}};END {print 0.2,sum}' test
5.压缩文件夹
zip -r push_day=2016-7-13-14-15-smooth.zip push_day\=2016-7-13-14-15-smooth/*
6.根据某一列的值进行分类,然后计算另一列的值得和
cat data.txt | awk '{a[$1]+=$2}END{for(i in a) printf "%s %d\n",i,a[i]}'
7.将文件按行打乱顺序
awk 'BEGIN{ 100000*srand();}{ printf "%s %s\n", rand(), $0}' advertiser_id_262_final_1_5 |sort -k1n | awk '{gsub($1FS,""); print $0}' > 262.txt
8.将文件按范围输出到新的文件
sed -n '1,4800p' advertiser_id_262_final > advertiser_id_262_final_1_5
9.解决windows下上传文件到linux,中文显示乱码的问题
iconv -f gb18030 -t utf8 dict_stations.csv -o dict_stations.csv
10.Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
1).命令格式:
wc [选项]文件…
2).命令功能:
统计指定文件中的字节数、字数、行数,并将统计结果显示输出。该命令统计指定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所指定文件的总统计数。
3).命令参数:
-c 统计字节数。
-l 统计行数。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
-L 打印最长行的长度。
-help 显示帮助信息
–version 显示版本信息
11.linux 查看文件内容
最基本的是cat、more和less。
1. 如果你只想看文件的前5行,可以使用head命令,如:
head -5 /etc/passwd
2. 如果你想查看文件的后10行,可以使用tail命令,如:
tail -10 /etc/passwd 或 tail -n 10 /etc/passwd
tail -f /var/log/messages
参数-f使tail不停地去读最新的内容,这样有实时监视的效果 用Ctrl+c来终止!
3. 查看文件中间一段,你可以使用sed命令,如:
sed -n '5,10p' /etc/passwd
这样你就可以只查看文件的第5行到第10行。
12.统计文件中某字段不同取值的次数
cat Accidents_2015.csv | awk -F "," '{print$7}' | cut -c 1- | sort | uniq -c
13.检测后台进程是否存在
ps -ef | grep storm
14.yum和apt-get的区别
一般来说著名的linux系统基本上分两大类:
1.RedHat系列:Redhat、Centos、Fedora等
2.Debian系列:Debian、Ubuntu等
RedHat 系列
1 常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数”
2 包管理工具 yum
3 支持tar包
Debian系列
1 常见的安装包格式 deb包,安装deb包的命令是“dpkg -参数”
2 包管理工具 apt-get
3 支持tar包