专栏首页编程linux基础(三)

linux基础(三)

一、文本处理工具

1、文本查看工具less和cat

cat -E filename 能看到行的结束符

-A filename 能看到tab键 回车 (hexdump -C win.txt)

-n filename 加行号

-s filename 压缩空行(连续相邻的空行)'

-b 加行号,但空行不加cat > f3 给文件写入内容(nl==cat -b )

2、more(分页查看文件)

3、less(支持搜索man的用法来自less)

4、head(查看文件首部,默认10行)

head -n 4

-c n 查看前n个字符

cat /dev/random strings(提取二进制程序的课间字符)

openssl

5、tail(查看文件尾部)

tail -f f1 实时跟踪文件

whath -n1 tail f1 & --> jobs查看后台执行程序 fg

6、cut命令(提取列)

-d 指定分隔符

-f 指定列 -f 1,3

-output-delimiter="+" 输出分隔符为+

-c 按字符切割

7、paste命令(合并)

合并两个文件同一行放在一块

paste f1 f2 > f3 (横向合并 各自第一行放在同一行)

cat f1 f2 > f4 (纵向合并)

-d 指定分割符

-s 所有行横着显示

8、wc(文本统计)

-l 行数

-w 单词

-c 字节

-m 字符

/usr/share/dict/linux.words

多少用户登录:who wc -l

9、sort(排序)

-n 按数字排序

-r 倒叙

-k 指定列 sort -rn -k 3

-t 指定分割符

-u 删除重复的行'

10、uniq(压缩重复相邻的行)

-c 统计重复的行数'

-d 只显示重复过的行

-

netstat -nt tr -s " " ":" cut -d: -f6 sort uniq -c

netstat -nt rev tr -s " " : cut -d: -f 4 rev sort uniq -c sort

让网站访问某主机网页1000次

ab -c 1000 -n 10000 http://192.168.25.128/index.html

11、rev

12、diff(判断两个文件的不同)

diff a.bak b.bak

-u : 显示详细信息 diff a.bak b.bak -u > diff.log

-b : 选项来自备份该表了的文件

patch -b acl.bak diff.log (还原文件)

13、grep(行提取工具)

-v 显示不被匹配的行

-i 忽略大小写

-n 显示匹配行号

-c 统计匹配的行数

-o 仅显示匹配到的字符串

-q 静默模式,不输出任何信息

-A # 后#行 包含当前行后续的的三行

-B # 前#行

-C # 前后各#行

-e 实现多个选项间的逻辑or关系

grep -e 'cat' -e 'dog' file

-w 整行匹配整个单词

-E 使用ERE 扩展正则表达式

-F 相当于fgrep。不支持正则表达式

nmap 网络扫描器

nmap -sP -v 172.18.254.0/24 grep -B1 up grep -v up

namp -v -A 172.18.254.88

二、正则表达式

分类: 基本正则表达式BRE

扩展正则表达式ERE grep -E , egrep

引擎:采用不同算法,检查处理正则表达式的软件模块

元字符:字符匹配、匹配次数、位置锚定、分组

看帮助:man 7 regex

1、基础正则表达式

字符匹配:

.匹配任意单个字符

[] 匹配指定范围内的任意单个字符

[^] 匹配指定范围外的任意单个字符

[:alnum:] 字母和数字

[:alpha:] 代表任何英文大小写字符,a-z A-Z

[:lower:] 小写字母 [:upper:] 大写字母

[:space:] 水平和垂直的空白字符

[:blank:] 空白字符

[:cntrl:] 不可打印的控制字符(退格、删除、警铃)

[:digit:] 十进制数字 [:xdigit:]

[:graph:] 可打印的非空白字符

[:print:] 可打印的非空白字符

[:punct:] 标点符号

注意:grep 'a\\b' f1 搜索a\b 内容

grep "a\.b" f1 搜索a.b 内容

匹配次数

* 匹配前面的字符任意次,包括0次;贪婪匹配模式

.* 任意长度的任意字符

\? 匹配其前面的字符0次或1次

\+ 匹配前面的字符至少一次

\ 匹配前面的字符n次

\ 匹配前面的字符至少m次,至多n次

\{,n\} 匹配前面的字符至多n次

\匹配前面的字符至少n次

位置锚定

^ 锚定行首

$锚定行尾

^PATTERN$用于模式匹配整行

^$空行

^[[:space:]]*$ 空白行

\< 或 \b 词首锚定,用于单词模式左侧(单词边界,除了字母、下划线、数字)

\> 或 /b 词尾锚定,用于单词模式右侧

\

匹配整个单词

\(\) 分组,将一个或多个字符捆绑在一起,当做一个整体处理

echo godgodgod grep -o "\(god\)\" 重复god2次

\1 表示从左侧起第一个左括号以及与之匹配右括号之间的模式所匹配的字符

\2 ...

反向引用:应用前面的分组括号中的模式所匹配的字符,而非字符本身

或者\

ab : a或b

Ccat : C或cat

(Cc)at :Cat或cat

2、扩展正则表达式

egrep = grep -E

次数匹配

*匹配前面字符任意次

? 0次或1次

+ 1次或多次

匹配m次

至少m,至多n次

位置锚定

^ 行首

$ 行尾

\< , \b 词首

\> , \b 词尾

分组

()

后向引用:\1 \2 ...

或者

ab : a或b

Ccat : C或cat

(Cc)at :Cat或cat

sed

取ip地址

centos 7:

ifconfig ens33 sed '2!d;s/.*et //;s/ .*$//'

取目录名:

echo "/etc/rc.d/" sed -r 's@^(.*/)([^/]+/?)@\1@g'

取基名:

echo "/etc/rc.d/" sed -r 's@^(.*/)([^/]+/?)@\2@g'

本文来自企鹅号 - 微网天下媒体

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python那些事——15分钟用Python破解验证码系统!

    让我们一起攻破世界上最流行的WordPress的验证码插件 每个人都讨厌验证码——在你被允许访问一个网站之前,你总被要求输入那些烦人的图像中所包含的文本。 验证...

    企鹅号小编
  • CAICT:2017年互联网平台治理白皮书

    随着“互联网+”与经济社会的深入融合,互联网平台作为连接基础,通过业务在线化和数据挖掘,促进供需双方精确匹配,缩短供需对接环节,提高资源配置效率,成为引领国家创...

    企鹅号小编
  • 斯坦福大学:借助谷歌街景数据,可分析社区人口的收入状况和投票倾向

    针对民主党和共和党选区的人们更喜欢轿车还是皮卡这些事,市场研究人员和政治分析师们已经研究了几十年。不过近日,斯坦福大学研究人员们通过一个雄心勃勃的项目 —— 分...

    企鹅号小编
  • Leetcode【347、378、451、692】

    一般情况下,求前 k 个元素的题目可以使用堆求解。但是如果先进行堆排序(O(n*logn)),再输出前 k 个元素,这样时间复杂度和普通排序方法 sorted(...

    echobingo
  • 原生 PHP、Laravel5.4、Yii2 和 ThinkPHP3.2 中的事务实例

    一、原生 MySQL <?php // 开启一个事务 mysql_query('START TRANSACTION'); $res1 = mysql_quer...

    琯琯
  • Win10环境下python36安装BeautifulSoup出现错误的解决办法

    Win10环境下安装BeautifulSoup4貌似没有任何问题,但是当使用时就会报错,错误如下:

    JiekeXu之路
  • 正则表达式

    刘晓杰
  • 绘图-类似百度外卖波浪效果的实现与关键点解析

    这是一个网上出过文章的例子,很多人都写过,但是大都是拷贝一个人作者的原文,这篇文章主要的目的是为了细致解析效果实现的关键点,以及提供有详细注释的Dome。给有需...

    進无尽
  • HTML5 download属性无效的问题

    如果url指向第三方资源,download会失效,表现和不使用download时一致——浏览器能打开的文件,浏览器会直接打开,不能打开的文件,会直接下载。浏览器...

    javascript.shop
  • 33种经典图表类型总结,轻松玩转数据可视化

    导读:随着时代的发展,越来越多的数据量堆积,然而这些密密麻麻的数据的可读性较差并且毫无重点,而数据可视化更加直观有意义,更能帮助数据更易被人们理解和接受。

    华章科技

扫码关注云+社区

领取腾讯云代金券