NashZhou

广告算法工程师,目前致力于关键词广告的效果自动优化

linux命令札记

1.awk

awk -F"[分割符]" '{动作脚本}'

FS 输入域分隔符,默认为一个空格
RS 输入记录分隔符
NF 当前记录里域个数
NR 到目前为止记录数

例子:

awk -F'\1' BEGIN'{sum=0;}''{ sum+=$1;}'END'{print sum}' puresult.txt     

awk ' BEGIN { FS="[: \t|]" }{print $1,$2,$3}' 

awk -F"<num_iid>" '{for(i=2;i<=NF;i++) print $i}' x |awk -F"<" '{if(NR<=20)print $1;}' >y

2.grep

grep '[0-9]\{18\}' file查找文件里符合模式的行

grep -C 10 ‘string’ file 罗列file里包含string的行的内容,以及前后10行内容

grep -rl ‘string’ file 不罗列细节,只显示包含该string的文件名 

3.sed

Sed 利用script来处理文本文件

Sed s/^old$/new/’替换处理 /不能省略

4.文件属性相关

du *-sh 查看文件大小

wc -l 查看文件行数

ls -l 查看权限

find -name 查找文件

more 类似cat b查看上一页,space 查看下一页, h查看说明

less 更好用,还可以用gg定位到开头,G定位到末尾

5.chmod

chmod o+w xxx.xxx

o+w表示给其他人授予写xxx.xxx这个文件的权限

+ -

rwx 读写执行 

代表所有者(user

代表所有者所在的组群(group

代表其他人,但不是uother

代表全部的人,也就是包括ugo

6.sort

sort -n -k 2 -t : 

-n 表示按数值排序

-t :指定分隔符号

-k 2 指定排序 因子 是第二列

-u 可以去重

-r 逆序

7.paste

paste -d , file1 file2

file1file2行行合并 

-d 指定分隔符号

8.系统相关

top查看进程,u指定用户,k删除进程

ulimit -a ulimit -c unlimited 记录core 便于查看错误,用gdb导入 core

screen 虚拟终端 Ctrl+a+d暂时退出,exit关闭。screen -r id

9.用命令实现文件的并、交、差

并:cat file1 file |sort -u

差:grep -F -f b a -v

交:cat file1 file2 | sort | uniq -d 

10.大小写转换

cat oops.txt | tr "[a-z]" "[A-Z]" > result.txt

11.定时任务crontab

5个字段的意思 分钟(0-59) 小时(0-23) 日期(1-31)月份(1-12)星期(0-6

crontab -l 查看定时任务

crontab -r 删除定时任务

crontab file file为任务文件载入

12.vim

全局替换命令为::%s/源字符串/目的字符串/g

:n,$s/vivian/sky/ 替换第 行开始到最后一行中每一行的第一个 vivian 为 sky

 

v进入visual状态,选择多行,用><缩进或缩出

按ctrl v进入visual状态,选择多行,删除固定列

13.其它

md5sum md5 加密,用于检验 数据传输 是否正确

iconv -t utf-8 -f gbk 1221退款订单初始化.csv  > 1221退款订单初始化.utf8.csv

scp -P port1 file1 name@host:/home/file2 将当前目录下的file1文件拷贝到 host/name:port 下的file2目录下

posted on 2012-08-24 11:23  NashZhou  阅读(216)  评论(0编辑  收藏  举报

导航