《鸟哥的Linux私房菜》读书笔记4
1. grep查找
grep 'string' filename;
last | grep 'root';
以行为单位。
利用参数-i(忽略大小写),-v(反相)等进行正则表达式;
‘’中可以为正则表达式。
2. 正则表达特别的
空行'^$',即只有行首和行尾;'^a'表示以a开头,'b$'表示以b结尾。
*表示重复前面的0个或多个字符;
a*,aa*,分别匹配<space>,a,aa,...和a,aa,aaa...,即aa*匹配者必须有一个a;
.表示除本身外任意字符,\.表示.。
3. 在shell中{和}具有特殊意义,故正则匹配n个字符时,需要转义{和}:
\{n\}。
4. []表示一个:[a]
减号-表示连续:[0-9]
括号中的^表示反相:[^A-Z],非大写字母。
开始时的^表示开头;
5. sed工具(stream editor)
sed -e '2,5s/A/B/g',将第2到5行中的A替换为B,/g全部替换。
s,替换;a,添加;d,删除;c,取代;i,插入;
A,B可以是正则表达式。
6. awk命令
awk处理以空格或者Tab间隔的行内数据;
last | awk '{print $1 "\t" $4}',该命令表示列出登录用户名和登录星期,两者Tab隔开。
其中$1表示第一块行数据,$2第二块,...,$0表示整个行数据。
awk有几个变量:
NF表示改行有多少字段,即多少列;NR表示正在处理的行号;
FS代表分割字符,默认空格,可以{FS=":"}修改。
awk可以处理逻辑运算:
last | awk '$1=="ltn" {print $1}'
输出行第一字段为ltn的第一地段。
注意:因为awk先读取第一行,而后处理预设条件等,因此可能第一行是个例外,此时需要先调用BEGIN命令。
7. 一些命令
printf,格式输出;
last最后登录者,30分钟自动刷新;
ifconfig,IP等网络信息。
8. 比较两个文件diff,cmp
diff text.txt text1.txt,比较详细列举不同之处,以行作单位;
cmp text.txt text1.txt,默认列举第一处不同,以位作单位。
《鸟哥的Linux私房菜》读书笔记4的更多相关文章
- 【鸟哥的Linux私房菜】笔记1
Linux是什么 从操作系统与cpu架构关系到linux Richard Mathew Stallman GPL 关于GNU计划 Linux的发展 Linux的核心版本 Linux的特色 Linux ...
- 【鸟哥的Linux私房菜】笔记3
正确地开机 最好不要使用root账号登陆!GNOME图形界面 View items as a list X WindowShell 文本交互界面bash是Shell的名称,Linux的默认壳程序就是b ...
- 【鸟哥的Linux私房菜】笔记2
Linux的应用 学习资源整理 安装记录 >< 1.Linux的应用: 网络服务器 数据库 学术机构的高效运算任务 嵌入式系统 ... 2.挂载与磁盘分区 学习资源整理 学习 1.书上的网 ...
- 《鸟哥的Linux私房菜》笔记——02. 关于Linux
Unix 历史 1969年以前:伟大的梦想--Bell, MIT 与 GE 的「Multics」系统 1969年:Ken Thompson 的小型 file server system 1973年:U ...
- 《鸟哥的Linux私房菜》笔记——03. 磁盘分区
Everything is a file. 常见硬件对应于 Linux 下的文件(/dev目录下) 装置 装置在Linux内的档名 SCSI/SATA/U盘硬盘机 /dev/sd[a-p] U盘 /d ...
- 鸟哥的linux私房菜学习笔记 __ 命令与文件的搜寻
连续输入两次[tab]按键就能够知道使用者有多少命令可以下达.那你知不知道这些命令的完整档名放在哪里?举例来说,ls 这个常用的命令放在哪里呢? 就透过 which 或 type 来找寻吧! 范例一: ...
- 【鸟哥的Linux私房菜】笔记
操作系统核心的功能! 驱动程序与操作系统的关系 2. [计算机组成之组件] 3.CPU实际要处理的数据完全来自于主存储器,这是一个很重要的概念! 4.CPU是整个计算机系统最重要的部分,那么目前世界上 ...
- 《鸟哥的Linux私房菜》笔记——04. 简单命令行
键入命令 [dmtsai@study ~]$ command [-options] parameter1 parameter2 ... 指令 選項 參數(1) 參數(2) 注意:有时也可以使用 + 放 ...
- 鸟哥的Linux私房菜学习笔记——文件权限与目录配置
Linux的文件权限和目录配置 在linux中的每个用户必需属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念. (1)所有者 一般为文件的创建者,谁创建了该文件,就是天 ...
- 鸟哥的Linux私房菜学习笔记(1)
2014/10/29 1.档案的权限管理分为三个部分: 拥有者.群组.其他 2.ls -al 命令可以看到档案的详细信息 3.档案的属性中由十个部分构成 第一个部分是档案类型 -代表档案.d代表文件夹 ...
随机推荐
- Idea 包名按树形结构展示
Idea默认包名展示如图: 感觉这样展示,在包下面建包的时候不方便,可以在 设置按钮 里面去掉 Flatten Packages 和 Compact Empty Middle Packages,设置如 ...
- android 真心话大冒险 摇色子
android 真心话大冒险 摇色子 软件
- Xcode 中代码提示不显示
解决办法: Xcode->Window->Organizer->Projects选中你的项目,点击如下图Derived Data右侧的Delete按钮 DerivedData从字面上 ...
- HTML5 Video Blob
我的博客搬家到https://www.w2le.com/了 <video src="blob:http://www.bilibili.com/d0823f0f-2b2a-4fd6-a9 ...
- jitter buffer QoS的解决方案
本文主要介绍一种QoS的解决方案,文章来自博客园RTC.Blacker,欢迎关注微信公众号blacker,更多详见www.rtc.help QoS出现的背景: 而当网络发生拥塞的时候,所有的数据流都有 ...
- luogu1353 Running
dp[i][j]表示走i分钟疲劳值为j时的最远距离 然后搞一下就好啦 #include <iostream> #include <cstdio> #include <al ...
- hdp 集群问题解决记录
2019-04-23 14:16:21,769 WARN namenode.FSImage (EditLogFileInputStream.java:scanEditLog(359)) - Caugh ...
- 1022 Digital Library (30)(30 分)
A Digital Library contains millions of books, stored according to their titles, authors, key words o ...
- Winform程序实现多显示屏、多屏幕显示的2种方法
这篇文章主要介绍了Winform窗口实现多显示屏显示的2种方法,本文直接给出了实现代码,并对其中的一些重要参数做了解释,需要的朋友可以参考下. 一台主机连接了2台显示器(2个显卡),要求一个程序的两个 ...
- 找工作--volatile
在Java编写的程序中,有时为了提高程序的运行效率,编译器会自动对其进行优化,把经常访问的变量缓存起来,程序在读取这个变量时有可能会直接从缓存(例如寄存器)中来读取这个值,而不会从内存中读取.这样做的 ...