linux 文件 三剑客,Linux基础篇五:文件操作篇(三剑客)

cut截取字段:

-d  指定分割符

-f   指定第几列

例题1:

echo "i am dusonglin ,my qq is  380343680 " >dusonglin.txt   ,请过滤读取文件里面的dusonglin以及 380343680

cut -d " " -f  3 7  dusonglin.txt

ca67d315bb39dfb6033a015702809723.png

awk :按列进行分割

-F  "分割符"  '{print $1,$2}'     $1代表第一列

d37c11952b22b4a33ccbe8dd8b669ff1.png

sed :替换的作用

语法:sed 's###g'

举例:sed 's#,#+#g'   把,号替换成 + 号

替换后 加-i 参数才会真正更改文件中的内容

sed  -i 's#,#+#g'

例题:将/etc/sysconfig/selinux 文件中的SELINUX=enforcing改成SELINUX=disable

[root@myzabbix selinux]# sed -i  's#SELINUX=disable#SELINUX=enable#g'  config

WC:统计文件的行数

-l 显示文件的行数 使用最多    wc -l /etc/fstab

-c显示文件的字节数

-w显示文件的单词数

使用场景例题:过滤出/etc/passwd中以nologin结尾的内容,并统计有多少行

grep "nologin$"   /etc/passwd  | wc -l

文件操作篇 close creat dup dup2 fcntl flock fsync lseek mkstemp open read sync write

文件操作篇 close creat dup dup2 fcntl flock fsync lseek mkstemp open read sync write close(关闭文件) 相关函数 ope ...

Linux C高级编程——文件操作之系统调用

Linux C高级编程文件操作之系统调用 宗旨:技术的学习是有限的,分享的精神是无限的.           库函数是一些完毕特定功能的函数.一般由某个标准组织制作公布,并形成一定的标准.使用库函数编 ...

Linux基础知识之文件的权限(一)

Linux基础知识之文件权限(一) Linux优点之一就是它拥有多用户多任务的环境,在提供文件共享的同时也能保证用户文件的安全性.所以,设置文件的权限管理变得尤为重要. 权限讲解 [der@Der ~ ...

Python学习—基础篇之文件操作

文件操作 文件操作也是编程中需要熟练掌握的技能,尤其是在后台接口编写和数据分析过程中,对各种类型的文件进行操作,获取文件信息或者对信息进行存储是十分重要的.本篇博客中将主要对常见的文本格式文件和Exc ...

Python自动化 【第三篇】:Python基础-集合、文件操作、字符编码与转码、函数

1.        集合 1.1      特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两 ...

Node基础篇(文件操作)

文件操作 相关模块 Node内核提供了很多与文件操作相关的模块,每个模块都提供了一些最基本的操作API,在NPM中也有社区提供的功能包 fs: 基础的文件操作 API path: 提供和路径相关的操作 ...

linux文件操作篇 (四) 目录操作

#include #include #include //创建文件夹 路径 掩码 int mkdi ...

linux文件操作篇 (一)文件属性与权限

文件的属性和权限是linux中 目录 和 文件 的两个基本特性. #属性: . 所有者属性 . 访问权限属性   -rwxrwxr-x #第一个字符是文件类别 -表示 普通文件 d 表示目录 b 表示 ...

Linux基础介绍【第四篇】

Linux文件和目录的属性及权限 命令: [root@oldboy ~]# ls -lhi total 40K 24973 -rw-------. 1 root root 1.1K Dec 10 16 ...

《Java从入门到放弃》JavaSE入门篇:文件操作

Java中的文件操作还有点小复杂··· 不过没关系,我会把它讲得很简单,嘿嘿嘿!!! 在讲Java中的文件操作前,先了解一个概念--"流",比如我们把一个杯子的水倒到另一个同样大小 ...

随机推荐

Codeigniter的Redis使用

1. ./config/redis.php: <?php $config['redis_host'] = '127.0.0.1'; $config['redis_port'] = '6379'; ...

bzoj 1001狼抓兔子(对偶图&plus;最短路)最大流

推荐文章:--周冬 题目 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还 ...

Web —— 小技巧集

html中设置锚点定位3种方法(已知): 1. id 定位         锚点1

1&period; 用U盘安装Centos6&period;5 &plus; Win7 双系统

一. 用U盘安装Centos6.5 + Win7 双系统 准备工作:U盘(8G).需要安装的Centos6.5系统(64bit).EasyBCD(用来修复引导,否则开机只有一个系统).         ...

c语言指针数组与数组指针

一.指针数组和数组指针的内存布局初学者总是分不出指针数组与数组指针的区别.其实很好理解:指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定.它是“储存指针的数组”的简称.数 ...

网址组成与特殊ip小解

网址 https://www.baidu.com:8010/a/html/a.html?tn=monline_3_dg#part1 注解: 网址= 当前url协议+域名+端口号+路径名+参数+hash ...

Day14 JavaScript

区分: JavaScript和JAVA一点关系没有,是一门单独的语言.(浏览器就是JavaScript的解释器) JavaScript代码存在形式: #这些代码一般都是在

&lt ...

洛谷P3385 【模板】负环

题目描述 暴力枚举/SPFA/Bellman-ford/奇怪的贪心/超神搜索 寻找一个从顶点1所能到达的负环,负环定义为:一个边权之和为负的环. 输入输出格式 输入格式: 第一行一个正整数T表示数据组 ...

elk-(七)

最终架构确定为  logs--->blieb--->redis/kafka--->logstash--->es--->kibana 注意:  geoip下载地址: wge ...

HDU 3537 Daizhenyang&&num;39&semi;s Coin

链接 [http://acm.hdu.edu.cn/showproblem.php?pid=3537] 题意 题意:已知一排硬币中有n个硬币正面朝上,输入正面朝上的硬币的位置ai.两人轮流操作, 每次 ...

### 关于 Linux 三剑客 (grep, awk, sed) 的练习资料与教程 #### 使用 `grep` 进行模式匹配和过滤 `grep` 是一种强大的文本搜索工具,能够利用正则表达式来筛选文件中的特定行。例如,在 `/etc/passwd` 文件中查找包含字符串 `"root"` 的所有行: ```bash grep "root" /etc/passwd ``` 也可以通过管道符传递输入给 `grep` 来实现相同的效果[^3]。 #### 利用 `awk` 处理结构化数据 `awk` 主要用于解析并处理具有固定列宽或由分隔符分割的数据记录。下面是一个简单的例子,它会读取每一行并将第二字段打印出来: ```bash echo 'apple orange banana' | awk '{print $2}' ``` 此命令将输出单词 `orange`,因为这是该行的第二个词。 #### 应用 `sed` 执行流编辑功能 `sed` 可以用来执行各种基于脚本的操作,比如替换、删除以及插入文本。这里有一个实例展示了如何把所有的大写字母转换成小写形式: ```bash echo 'HELLO WORLD!' | sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/' ``` 这将会返回全部字母都变成小写的版本——即 `hello world!`。 为了更好地掌握这三个实用程序的功能及其组合使用的技巧,建议读者尝试完成如下几个练习题目: 1. **基础** - 编写一条指令找出当前目录下所有 `.txt` 后缀名文件里含有关键词 `"error"` 的行; - 将上述结果进一步限定只显示不含关键字 `"warning"` 的部分; 2. **中级** - 创建一个名为 `data.csv` 的 CSV 文件,其中每行为三个逗号分隔开的名字(如 John,Doe,Smith),编写一段 shell script 提取出第三列为 Smith 的那些条目; - 对上一步得到的结果按照第一个名字首字母顺序排列,并统计各姓氏出现次数; 3. **高级** - 设计一组复杂的正则表达式规则集,可以从 HTML 文档源码提取出超链接地址 `<a href="...">...</a>` 中的内容; - 结合之前学到的知识点,构建完整的 web 日志分析 pipeline 流程图,包括但不限于 IP 地址抽取、访问时间戳整理等功能模块的设计思路说明文档撰写等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值