您的位置:首页 > 汽车 > 时评 > Linux 文本处理

Linux 文本处理

2024/10/5 11:57:49 来源:https://blog.csdn.net/qq_71371157/article/details/141680458  浏览:    关键词:Linux 文本处理

1.正则表达式

        Linux 正则表达式在文本处理和搜索过程中起着非常重要的作用。它可以用于匹配和查找符合特定模式的字符串,从而实现强大的文本处理功能。以下是一些常见的正则表达式作用:

        1. 匹配字符串:正则表达式可以根据指定的模式匹配字符串。比如,可以使用正则表达式查找所有以特定字符开头或结尾的字符串。

        2. 搜索和替换:正则表达式可以用于搜索和替换文本中的特定字符或模式。可以通过正则表达式匹配需要替换的字符串,并使用新的字符串进行替换。

        3. 字符串提取:正则表达式可以从文本中提取特定的信息或字段。例如,可以使用正则表达式从日志文件中提取特定时间段内的日志记录。

        4. 格式验证:正则表达式可以用于验证输入数据的格式。例如,可以使用正则表达式验证邮箱地址、手机号码、IP地址等。

        5. 数据清理:正则表达式可以帮助清理和规范化数据。可以通过正则表达式删除或替换文本中的非法字符、空白字符等。

        总之,正则表达式在Linux中提供了一种强大的方式来处理和操作文本数据,让文本处理变得更加灵活和高效。

元字符作用
.任意单个字符
*前一个字符匹配0次或多次
?匹配前面的子表达式0到1次
^      匹配行首
$匹配行尾
[ ]匹配中括号中的任意一个字符
[^]匹配除中括号以外的任意一个字符。
\转义符
\{n\}表示其前面的字符恰好出现n次。
\{n, \}表示其前面的字符出现不小于n次。
\{n, m\}

表示其前面的字符至少出现n次,最多出现m次。

2.字符串截取命令 

1.cut命令

语法:cut [选项] 文件名

-f                提取第几列

-d               分隔符:按照指定分隔符分割列

-b               以字节单位进行分割

 例:

提前准备好的数据

ID      Name    Password        Level
1       wang    wang1234        2
2       li      li789456        3
3       xv      xv123456        1
4       liao    liao4567        3               

显示第2-4列的数据

cut -f 2-4 aaa

显示第2和4列的数据

cut -f 2,4 aaa

3.printf命令

语法:printf '输出类型输出格式' 输出内容

类型转换符                        解释

%s                                     输出字符串

%i                                      输出整数

%f                                      输出浮点数

转义字符             解释

\a                        输出警告声音

\b                        输出退格键(Backspace)

\f                         清除屏幕

\n                        换行 常用

\r                         回车 常用

\t                         缩进(tab) 常用

\v                        垂直输出退格键

3、awk命令

语法:awk [参数] [处理内容] [文件名]

1、条件(pattern):

>

>=

==

<=

<

例:大于1级的用户

awk '$4 > 1' aaa

例:在开头添加信息

awk 'BEGIN {printf "----------开头------- \n"}{printf$0 "\n"}' aaa

4.统计命令wc 

语法: wc [选项] 文件名

-l           只统计行数

-w         只统计单词数
-m         只统计字符数

如有错误给孩子提醒一下,感谢观看! 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com