个人学习笔记总结

[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命令使用的更多相关文章

  1. awk调用date命令

    创建文件date.awk: $ == { cmd = "\"" while (cmd | getline line) { print line } close(cmd) ...

  2. [Shell]字符截取命令:cut, printf, awk, sed

    ------------------------------------------------------------------------------------------- [cut命令] ...

  3. <转>如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等

    原文链接:http://www.vaikan.com/use-multiple-cpu-cores-with-your-linux-commands/ 你是否曾经有过要计算一个非常大的数据(几百GB) ...

  4. 转摘--如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等

    http://www.vaikan.com/use-multiple-cpu-cores-with-your-linux-commands/ 你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或 ...

  5. 如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等(转)

    你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作——一些无法并行的操作.数据专家们,我是在对你们说.你可能有一个4核或更多核的CPU,但我们合适的工具,例如 grep, ...

  6. 【转】如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等

    如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等   你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作——一些无法并 ...

  7. Shell常用工具find,grep,sed,awk,xargs命令

    最近学习shell命令,对grep,sed,awk命令有点混乱,故小结一下,巩固一遍. 注意:find , grep , sed, awk可使用基本正则表达式字符,find,grep,awk也支持扩展 ...

  8. 【linux系统】命令学习(六)awk sed grep 与管道的使用

    程序运行环境输入与输出 标准输入0 read a;echo $a 标准输出1 echo cesh 错误输出 ls notr 管道重定向 管道与管道之间可以重定向 管道与文件之间可以重定向 用于写入 将 ...

  9. awk sed 总结

    Awk总结笔记 介绍 90年代 new awk :nawk Linux 的是gawk 我们简化awk 用法 #  awk [options ] ‘scripts’ file1 file2 .... # ...

  10. [转]shell awk sed tr grep 语法汇总

    tr 基本语法 -c          # 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII  -d          # 删除字符串1中所有输入字符  -s          # 删除所 ...

随机推荐

  1. 存储库之MongoDB、mysql

    本篇导航: 简介 MongoDB基础知识 安装 基本数据类型 CRUD操作 其它 存储库之mysql   一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库1.易用性 MongoDB是 ...

  2. CSS3_综合案例

    综合案例 设置元素的 width,还可以利用 left 和 right 为了防止图片太小,background-size: 100% 100%; <!DOCTYPE html> <h ...

  3. 变量类型-Number

    教程:一:数字类型 (1)int 没有限制大小,有以下的四种表现形式:        1:2进制:以'0b'开头---bin        2:8进制:以'0o'开头---oct        3:1 ...

  4. 第三周学习java第四章学习总结及体会!

    第三周java 2第四章的学习总结: 一.主要内容(类与对象): 1.类: 2.构造方法与对象的创建: 3.类与程序的基本结构: 4.参数传值: 5.对象的组合: 6.实例成员与类成员: 7.方法重载 ...

  5. Java演算法-「馬踏棋盤問題」

    /* * 馬踏棋盤問題:(貪婪法求解) * 棋盤有64個位置,“日”字走法,剛好走滿整個棋盤 */ //下一個走法的方向類 class Direction{ int x; int y; int way ...

  6. ubuntu16.04安装mrpt

    源码地址 https://github.com/MRPT/mrpt 安装教程 https://github.com/MRPT/mrpt/blob/master/README.md#32-build-f ...

  7. Windows 10 编译 OpenJDK11

    下载openjdk11源码 hg clone https://hg.openjdk.java.net/jdk-updates/jdk11u-dev/

  8. centos7安装nodejs运行环境及卸载

    一.安装1.进入官网下载最新版本https://nodejs.org/en/ 选择下载后上传或直接使用wget下载 wget https://nodejs.org/dist/v8.11.2/node- ...

  9. 源码编译vim

    目录 获取最新版 vim 源码 1 git仓库clone 2, 源码包下载,里面有各个版本的vim压缩包 vim 配置选项 配置示例 参考文章 tip 获取最新版 vim 源码 1 git仓库clon ...

  10. allegro17.2 错误记录

    1.网表导入PCB时出现如下错误::error with pin number 'P11'in device ' lfbga176'::Unable to find pin name in adfnc ...