linux
数据截取,取出第11行到第20行
- head -n 20 |tail -n 10 观察文件类型
- file filename 查找文件名
- find [path] -name [filename]
- find ~ -name “visio” 查找含有关键字的文件
- grep “keyword” -r . Xargs
- 构造参数列表并运行命令,即将接收的参数传递给后面的command 命令执行
- -i, 选项告诉 xargs 可以使用{}代替传递过来的参数,比如cat queue_calc |xargs -i grep {} tmp Sed工具使用
- sed工具可以使用-i对文件直接进行修改,比如想在第100行后插入内容,如果使用Vim可能半天都打不开,而sed就很方便可以
- Sed [-nefr] [操作]
- -n 安静模式,只有经过sed特殊处理的一行才会被列出来
- -i 直接读取文件,而不是由屏幕输出
- 操作说明:[n1[,n2]] function
- a:新增
- c:替换
- d:删除
- i:插入
- p:打印
- s:替换
-
nl filename sed ‘2,5d’ 将第2到5行删除 -
cat filename sed -n ‘2,5p’ 将第二到第五行输出,在安静模式下 - sed -i ‘3a lalala’ filename.txt 在filename中第三行后插入lalala,在文件比较大的时候适用 Awk工具使用
- awk倾向于一行当中分成数个字段来表示
- awk ‘条件类型1 {操作1} 条件类型2 {操作2} …’ filename
- 打印第一列和第三列,使用awk,首先需要确认一下数据,如果是连续性数据,请不要有空格或tab在内,否则会误判
- awk ‘{print $1 “\t” $3}’
- $0 代表一整列数据
- NF 总列数;NR 当前行数; FS 目前的分割字符,默认是空格
- 修改默认分割字符
-
cat /etc/passwd awk ‘BEGIN {FS=“:”} $3 < 10 {print $1 “\t” $3}’
-
- awk命令间隔,在{}内的操作,如果有多个命令辅助时,可利用”;”进行分隔,或者直接enter键隔开命令
- 与bash shell不同,awk重变量可以直接使用,不需要加上$符号
date使用
- date -d -1day +%Y%m%d%H 前一天的当前时间