awk、sed、date命令使用
个人学习笔记总结
[root@a ~]# awk 'END{print NR}' c.txt #没错,这就是文件的行数,当然,这种统计方法不是linux下最快的,但也是一种思路
3
[root@a ~]# wc -l c.txt #这种统计方法是linux下最快的
3 c.txt
[root@a ~]# head -3 /etc/passwd
root:a:0:0:root:/root:/bin/bash
bin:b:1:1:bin:/bin:/sbin/nologin
daemon:c:2:2:daemon:/sbin:/sbin/nologin
[root@a ~]# head -3 /etc/passwd | awk -F':' '{print $1}'
root
bin
daemon
[root@a ~]# head -3 /etc/passwd | awk -F':' '{print $2}'
a
b
c
[root@a ~]#head -3 /etc/passwd | awk -F':' '{print $1}{print $2}' #有两个print,可以看到第二列放到了第一列之后换行显示
root
a
bin
b
daemon
c
[root@a ~]# head -3 /etc/passwd | awk -F':' '{print $1,"\n",$2}' #在print中将$1和$2之间加一个\n,第二列前的空白字符也被输出了,两者还是有所区别
root
a
bin
b
daemon
c
[root@a ~]# head -5 /etc/passwd | awk -F: '{if(NR>2&&NR<5)print NR,$0}' #awk条件语句,打印整行信息并显示打印行号
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
awk -F':' '$1~/root/' 1.txt
root:x:0:0:root:/root:/bin/bash
111root222:x:0:0:root:/root:/sbin/nologin
awk -F':' '$1~/root/{OFS="#";print $1,$2,$3}' 1.txt
root#x#0
111root222#x#0
awk -F':' '$1=="root"{print$1,$2,$3}' 1.txt
root x 0
awk -F':' '$1=="root" || NR>=30{print $1,$2}' 1.txt
root x
rpc x
111
awk -F':' 'NF>3&&NR<3{print $1,$2,$3}' 1.txt
root x 0
111root222 x 0
~为模糊匹配,==表示精确匹配
[root@a ~]# awk -F':' 'NF>3&&NR>16{print NR,"\t",$3,$5}' /etc/passwd
17 89
18 74 Privilege-separated SSH
打印符合条件的内容并显示行号
sed -r 's/([^:]+)(:.*:)([^:]+)/\3\2\1/' /etc/passwd | head -2
/bin/bash:x:0:0:0:root:/root:root
/sbin/nologin:x:1:1:bin:/bin:bin
sed -r 支持扩展功能,([^:]+)中的[^:]表示有一个或者多个非冒号的字符,()表示作为一个整体,在这里指匹配第一段;(:.*:)表示贪婪匹配,即只要以第一个为冒号,一直匹配到最好一个冒号结束。
[root@a ~]# date -d "-1 day" +"%F %T"
2019-04-28 09:44:13
"-1 day" 表示昨天的时间和日期,-d 表示用字符串描述的显示时间,而不是“现在”
[root@a ~]# date -d "+1 month" +"%F %T"
2019-05-29 09:48:03
"+1 month"表示下个月的日期和时间
[root@a ~]# date +%F #显示日期
2019-04-29
[root@a ~]# date +%T #显示时间
09:50:17
[root@a ~]# date +%Y-%m-%d #显示日期
2019-04-29
[root@a ~]# date +"%Y-%m-%d %H:%M:%S" #显示日期和时间
2019-04-29 09:51:51
[root@a ~]# date +%w #显示周几
1
[root@a ~]# date +%W #显示第几周
17
[root@a ~]# echo "365/7"| bc #计算一年有多少周
52
awk、sed、date命令使用的更多相关文章
- awk调用date命令
创建文件date.awk: $ == { cmd = "\"" while (cmd | getline line) { print line } close(cmd) ...
- [Shell]字符截取命令:cut, printf, awk, sed
------------------------------------------------------------------------------------------- [cut命令] ...
- <转>如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等
原文链接:http://www.vaikan.com/use-multiple-cpu-cores-with-your-linux-commands/ 你是否曾经有过要计算一个非常大的数据(几百GB) ...
- 转摘--如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等
http://www.vaikan.com/use-multiple-cpu-cores-with-your-linux-commands/ 你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或 ...
- 如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等(转)
你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作——一些无法并行的操作.数据专家们,我是在对你们说.你可能有一个4核或更多核的CPU,但我们合适的工具,例如 grep, ...
- 【转】如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等
如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等 你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作——一些无法并 ...
- Shell常用工具find,grep,sed,awk,xargs命令
最近学习shell命令,对grep,sed,awk命令有点混乱,故小结一下,巩固一遍. 注意:find , grep , sed, awk可使用基本正则表达式字符,find,grep,awk也支持扩展 ...
- 【linux系统】命令学习(六)awk sed grep 与管道的使用
程序运行环境输入与输出 标准输入0 read a;echo $a 标准输出1 echo cesh 错误输出 ls notr 管道重定向 管道与管道之间可以重定向 管道与文件之间可以重定向 用于写入 将 ...
- awk sed 总结
Awk总结笔记 介绍 90年代 new awk :nawk Linux 的是gawk 我们简化awk 用法 # awk [options ] ‘scripts’ file1 file2 .... # ...
- [转]shell awk sed tr grep 语法汇总
tr 基本语法 -c # 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII -d # 删除字符串1中所有输入字符 -s # 删除所 ...
随机推荐
- react_结合 redux - 高阶函数 - 高阶组件 - 前端、后台项目打包运行
Redux 独立的集中式状态管理 js 库 - 参见 My Git 不是 react 库,可以与 angular.vue 配合使用,通常和 react 用 yarn add redux import ...
- Go语言基础之切片
Go语言基础之切片 本文主要介绍Go语言中切片(slice)及它的基本使用. 引子 因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性. 例如: func arraySum(x ...
- I Think I Need a Houseboat POJ - 1005
I Think I Need a Houseboat POJ - 1005 解题思路:水题 #include <iostream> #include <cstdio> #inc ...
- Linux服务器tomcat无法通过ip加端口访问
Linux服务器tomcat无法通过ip加端口访问 防火墙开放端口 # Firewall configuration written by system-config-firewall# Manual ...
- PAT甲级1091 Acute Stroke【三维bfs】
题目:https://pintia.cn/problem-sets/994805342720868352/problems/994805375457411072 题意: 求三维的连通块 思路: 简单b ...
- GenericServlet
Generic-汉语意思:类的adj GenericServlet是一个抽象类,它的源码很容易看懂,继承Servlet接口和ServletConfig接口 所有它里面有父接口里面的方法,所以它就是在S ...
- 转载,matla滤波函数
转载地址http://blog.sina.com.cn/s/blog_6163bdeb0102e1dj.html 滤波器设计是一个创建满足指定滤波要求的滤波器参数的过程.滤波器的实现包括滤波器结构的选 ...
- MQTT----物联网常用的消息队列协议
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建 ...
- 干了这杯java之ThreadLocal
ThreadLocal Java篇 是什么 怎么用 源码 缺点 总结 是什么 ThreadLocal是一个关于创建线程局部变量的类,这个变量只能当前线程使用,其他线程不可用. ThreadLocal提 ...
- 2000w数据,redis中只存放20w的数据,如何保证redis中的数据都是热点数据
redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略. redis 提供 6种数据淘汰策略:voltile-lru:从已设置过期时间的数据集(server.db[i].expires) ...