Linux中文本处理命令

文本处理与 Shell 入门 本文全面介绍了Linux文本处理工具与Shell脚本编程的核心技能。第一部分详细讲解cat/more/less、grep、sed、awk等文本处理工具的使用方法及实际应用场景;第二部分深入解析Shell脚本编程基础,包括变量定义、流程控制、函数编写及输入输出重定向等核心概念。文章通过大量实操案例(如日志分析、文件批量处理)演示如何将理论转化为实践,并提供了调试技巧和错误处理方法。最后,针对进阶用户介绍了Shell高级特性,如关联数组、参数扩展、进程替换等,帮助读者编写更高效、健壮的自动化脚本。全文强调实践导 阅读详情

本文以“henu.txt”文件为例

1 wc命令:对文件行、字数(单词)、字符数做简单统计

参数(-l:仅列出行; -w:仅列出多少字(英文单字); -m:多少字符;)
1)查看文件全部参数
more henu.txt
wc henu.txt
其中16  16  417 分别代表行数、一行中的字符数、总的字符数

2)统计文件行数
wc -l henu.txt
“wc”命令主要统计英文的字符,建议使用此命令查看文件中的行数

2 文件内容含有条件的筛选awk

# FS=",":以","分割行, $1:显示第一列,NR:当前所在的行,NF当前行分割的字段数
awk 'BEGIN{FS=","} {print $1 "\t"  $2  "\t"  NR "\t"  NF}'  henu.txt

# 筛选第一列->排序->去重并计算重复次数->按照重复次数排序->重定向到新文件中
awk  'BEGIN{FS=","} {print $1}' henu.txt | sort | uniq -c | sort -rn -k1 > new_henu.txt

# 将第一例的空值换成"中国"
awk  'BEGIN{FS=","} {print $1}' henu.txt | sed 's/^s*$/"中国"/g' > new_henu.txt

# 在vim中将空行替换为"中国"
:1,$s/^s*$/中国/g

3 替换字符和删除行sed

1)替换:sed 's/旧字符/新字符/g' ,特殊字符要使用转义
# 其中正则表达式中,“.”表示任意字符,“*”重复多次
# 表示删除file_name文件中的括号里面的内容和括号,并用空代替
cat file_name | sed 's/(.*)//g' | sed 's/.∗//g'

# 将“河南大学”替换为“河大”
cat henu.txt | sed 's/"河南大学"/"河大"/g' > new_henu.txt

2)删除行
# 删除第一行和第二行
cat henu.txt | sed '1,2d' >new_henu.txt

3) 解决:“ $'\r': command not found”解决方法,原因是windows和Linux系统换行不同
sed -i 's/\r//' henu.txt

4 查找字符grep

#查找“河南大学”
cat henu.txt | grep '河南大学' >new_henu.txt

#正则查找,查找以“大”开头,以“语”结束的字符
cat henu.txt | grep '大.*语' >new_henu.txt

5 其他

1)cut切割字符
# 以“,”切割文件并取出第1列
# sort排序的时候注意默认是按照字典的方式排序,如果按照数字时则必须加上-n
# uniq去除重复,只能去除相邻的重复,所以要先排序,后去除重复
cat  henu.txt |cut -d ',' -f 1| sort | uniq -c | sort -rn -k1 > new_henu.txt


2)查看制表符的命令\t
cat -T file_name

# 在线编辑
# (英文字母L的小写,不是管道|)
sed -n l file_name

# 删除字符
tr -d 'delete_char'

3)删除第2列相同值的行
cat henu.txt | sort -t "," -k2,2 -V | sort -t "," -uk2,2 -V > new_henu.txt

文件内容如下:

2,河南大学,软件工程

3,河南大学,美术
1,河南大学,计算机
4,河南大学,体育
5,河南大学,物理
13,河南科技大学,物理
6,河南大学,化学
1,河南大学,计算机
7,河南大学,计算机
8,河南科技大学,计算机
1,河南大学,计算机
9,河南理工学院,
10,河南工学院,
11,河南大学,英语
12,河南大学,语文
13,河南科技大学,物理
14,河南科技大学,化学
15,河南大学,计算机
13,河南科技大学,物理
13,河南科技大学,物理
16,河南大学,软件工程

参见《鸟哥的私房菜》

Linux文本处理命令合集 主要涉及shell脚本中文本处理常见命令,diff/patch查找文本差异,字符串截取cut、tr、uniq等 立即下载

相关推荐

MacBook用户必看:用Homebrew一键搞定frp内网穿透(含阿里云配置模板)

本文为MacBook用户提供基于Homebrew的frp内网穿透实战指南,详细介绍了从环境准备到阿里云服务器配置的全过程。通过Homebrew一键安装frp客户端,结合阿里云配置模板,实现高效稳定的内网穿透,适用于远程开发、IoT设备调试等多种场景。

weixin_28692817的博客 321

linux中常用文本处理命令

Linux中文本处理命令,本文以“henu.txt”文件为例 1、wc命令:对文件行、字数(单词)、字符数做简单统计 参数(-l:仅列出行; -w:仅列出多少字(英文单字); -m:多少字符;) 1)查看文件全部参数 more henu.txt wc henu.txt 其中16 16 41...

make_progress的博客 463

自动控制原理之控制系统的数学模型(类比神经网络学习数学模型)

控制系统的数学模型背景建模方法常用的数学模型时域数学模型的建立建立微分方程的步骤复数域模型的建立传递函数的性质系统的典型环节及传递函数比例环节惯性环节积分环节微分环节理想微分环节一阶微分环节二阶微分环节振荡环节延时环节(时滞环节) 背景 数学模型就像是真实世界的写照,它就像一个虚拟的世界,我们可以通过建模的方式了解这个真实世界的运作规律。 这一点很像强化学习,强化学习需要一个供智能体探索、学习的环境,于是,我们通常会事先建立一个虚拟的仿真环境。举个例子,对于人类来说,可能需要经过不断地尝试,甚至是生命的代价

zbp_12138的博客 6578

Linux基础八之文本处理

Linux基础八之文本处理

bogeRickie的博客 654

告别Quartus II的漫长等待:用VSCode+iverilog+GTKWave搭建你的轻量级Verilog仿真环境(2024保姆级教程)

本文详细介绍了如何利用VSCode、iverilog和GTKWave构建高效的Verilog/SystemVerilog开发环境,替代传统的Quartus II和ModelSim工具。通过2024年最新的保姆级教程,帮助开发者实现秒级启动、低资源消耗的轻量级仿真环境,显著提升数字电路设计的开发效率和调试体验。

weixin_33690963的博客 561

Innovus ECO技巧:用setEcoMode+ecoAddRepeater实现批量buffer替换的5个关键步骤

本文详细介绍了在Cadence Innovus工具中,利用setEcoMode与ecoAddRepeater命令实现高效、批量Buffer/Inverter替换的工程化策略。通过启用批处理模式、构建可维护的替换规则、掌握高级定位技巧以及规避布线陷阱等5个关键步骤,帮助芯片设计工程师在ECO阶段大幅提升修改效率与质量,确保设计稳定签核。

d6e7f8的博客 1118

Linux中常用命令文本处理

a:新增,例如:nl /etc/passwd | sed '2a Hello World',在/etc/passwd第2行下面新增一行,写入"Hello World"。例如:cat -A /etc/man.config | col -x | cat -A,使用cat -A,tab键会以^I显示,经过col -x处理,tab替换为空格。-k:按指定字段排序;p:打印,例如:nl -n /etc/passwd | sed '2,5p',仅显示2到5行,注意,如果不加-n,2到5行将重复输出。

提供各种学习资源及帮助 1585

ESP32 LVGL开发板例程使用记录:自制常用汉字字库(二)

1、将下载的文件移入工程文件中 ,路径为项目文件中 ”......\lib\lvgl\src\font“文件夹下。3、修改字库配置文件,文件名为lv_conf.h中的内容,向其中加入下面内容(位置可搜索注释块来找到地方)修改完成可以编译试试,看是否成功,如字库较大时编译出错,请使能:LV_FONT_FMT_TXT_LARGE。2、打开此文件,修改包含头文件的路径,不然会报错,修改方法可对照自己库中其他字库文件中的包含路径。导入完成后在VSCode工程中可以查看到此文件。上次说完了如何制作 字库.c 文件。

qq_43279097的博客 1958

shell 编程之正则表达式

shell 编程之正则表达式 正则表达式:又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。 正则表达式之通配符 *任意字符,?任意一个字符,[]匹配字符 正则式包含匹配,是文件中的内容匹配,通配符是文件匹配,是完全匹配 基

zhaojianyin 474

跨越移植陷阱:ESP-IDF下LVGL与ILI9341的组件化集成与常见避坑指南

本文详细解析了在ESP-IDF环境下将LVGL图形库与ILI9341显示屏驱动进行组件化集成的完整流程。重点介绍了移植过程中的关键配置策略、内存管理优化技巧以及常见问题解决方案,帮助开发者有效规避内存溢出、显示异常等典型陷阱,实现高效稳定的嵌入式GUI开发。

yhn456789的博客 623

Parasoft C++Test软件单元测试_操作指南

本文主要为使用C++TEST进行单元测试的流程性操作讲解,后续文章将以专题形式进行详细讲解,以及用一些被测函数作为示例进行实例讲解。

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 1574

Linux必备文本处理命令

文章目录一.文本查看1.cat2.more 一.文本查看 1.cat cat命令用于连接多个文件的内容,但在实际使用中多用于查看文件内容,如: [root@320 csdn]# cat csdn.txt Hello ! Welcome to csdn! cat也可以同时查看多个文件内容,如: [root@320 csdn]# cat csdn.txt csdn1.txt csdn2.txt Hello ! Welcome to csdn! Hello ! Welcome to csdn! Hello !

夏颜的博客 1169

凝聚态物理新引擎:AI 驱动材料预测与相变识别大突破

摘要:本文深入探讨 AI 在凝聚态物理中的创新应用。在材料性质预测方面,AI 借助数据收集、特征提取和模型训练,能依据材料微观信息准确预估其宏观性质,以石墨烯为例验证了高效性。对于拓扑相变识别,AI 通过分析量子力学数据,利用机器学习算法判别相变节点,助力拓扑绝缘体研究。尽管面临数据质量、模型可解释性等挑战,但未来多模态数据融合、可解释 AI 等发展方向,将推动 AI 与凝聚态物理深度融合,助力探索物质奥秘与新材料研发。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1828

【linux基础】Linux 文本处理核心命令指南

文本处理是 Linux 系统管理的核心能力,约 80% 的配置文件操作都依赖于文本处理技术。本指南详细讲解echo、重定向、catgrepwc和vim等关键命令,涵盖从基础操作到高级技巧的完整知识体系,并配有实用案例演示。

MANONGMN的博客 1029

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Linux 文本处理 命令

文件浏览的若干命令,grep,cut,wc,sort,diff,aspell,tr,sed。

刘伟佳的博客 978

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Linux基本命令(三) 文本处理及优化终端操作

去重只会去重相邻的重复数据, 下图中 1并没有出现想想中的很多次, 所以需要结合sort使用。如果命令正确则直接写入文件 如果命令错误将错误文件写入到绑定的&1中(test.log)如果一个数值内容不指定-n, 那么它会使用每一位ASCII的方式进行排序。将标准错误输出的报错信息重定向到文件上(注意2旁边没有空格)●-c在最前面显示, 重复的数据行数。去重文件中的重复行, 并且去除头部的空格。的内容重定向到文件上(重复会进行。的内容重定向到文件上(重复会。需要注意的, 如果使用正则。

m0_74100826的博客 1240

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Linux文本处理命令

文章目录文本处理命令1.sort命令2. uniq 命令3. cut命令4. tr命令5. wc命令知识补充 文本处理命令 文本处理命令都是配合 cat 命令使用 1.sort命令 用于将文件内容加以排序 一般以每一行第一个字符进行排序 参数 用途 用法 -n 按照数值的大小排序 sort -n -r 以相反的顺序来排序 sort -n -r -k 以某列进行排序 sort -n -k -t 指定分隔符,默认是以空格为分隔符 sort -n -t‘内容’

go|Python的个人博客 449

linux文本处理命令

linux文本处理命令 1.1 目录处理命令 [root@docker_node ~]# ls -la total 283144 dr-xr-x---. 10 root root 4096 Sep 8 23:50 . dr-xr-xr-x. 21 root root 4096 Aug 3 18:38 .. -rw-------. 1 root root 4665 Aug 20 2015 anaconda-ks.cfg drwxr-xr-x. 3 root root

qq_42939965的博客 134

Linux文字动态命令,linux文本处理命令

cat、tac、more、less、head、tail、cut、sort、job、uniq、wc、diff、tr、sed、grep、awkcat命令选项-n 显示行号-E 显示行结束符 (Linux系统的文本文件的结束符是$, windows系统的文本文件的结束符是$+Enter)-T 显示制表符-A show-alltac命令反过来显示文本内容more命令内部指令空格键 滚动到下一屏内...

weixin_42306503的博客 363

linux文本处理常用命令,Linux下常用文本处理命令

Linux下面有很多经典的非常有用的命令,其中处理文本的命令就有很多。这些小工具经过了几十年时间的洗礼,现在已经变成了经典,已经变成了Linux下面的标准,其实它们一直是遵循着Linux的标准。下面就让我们一起看看这些经典的Linux文本处理命令。一. sort文件排序, 通常用在管道中当过滤器来使用. 这个命令可以依据指定的关键字或指定的字符位置, 对文件行进行排序. 使用-m选项, 它将会合并...

weixin_39733943的博客 192

Linux下常用文本处理命令

Linux下面有很多经典的非常有用的命令,其中处理文本的命令就有很多。这些小工具经过了几十年时间的洗礼,现在已经变成了经典,已经变成了Linux下面的标准,其实它们一直是遵循着Linux的标准。下面就让我们一起看看这些经典的Linux文本处理命令。 一. sort 文件排序, 通常用在管道中当过滤器来使用. 这个命令可以依据指定的关键字或指定的字符位置, 对文件行进行排序. 使用-m选

haidao2009的专栏 1377

linux 文本处理语言,Linux中常用的文本处理命令详解

一.Linux中常用的文本处理命令(shell中常用的命令)a=命令 |可把命令的结果赋值给a1、diff(1)显示结果解释[num1.num2][a/c/d][num3,num4](1)num1、num2表示在第一个文件中的行数(2)a表示添加c表示更改d表示删除(3)num3、num4表示在第二个文件中的行数(4)< 表示第一个文件中的内容> 表示第二个文件中的内容(5)例如2,3...

weixin_39657521的博客 267

Linux 文本处理常用命令介绍

命令概述基本语法常用选项应用场景 可以将这些注释内容保存到一个文件(比如)中,然后使用来格式化,让注释每行的宽度不超过 60 个字符。 命令概述基本语法常用选项收起plaintext复制 执行后,输出会更加整齐地以表格形式呈现:收起plaintext复制 收起plaintext复制 执行,就可以将其按照逗号分隔的列进行对齐输出。收起plaintext复制 收起plaintext复制 介绍下column命令的其他常用选项如何使用column命令将文本内容按指定宽度进行换行?除了colu

m0_59388634的博客 1365

Linux文本处理命令大汇总

在本文中,我们为大家总结了Linux中常用的文本处理命令及其使用方法,并提供了具体实例演示。Linux作为一种强大的操作系统,提供了丰富的文本处理命令,使得我们能够轻松地对文本进行格式化、筛选、转换等操作。本文将为大家总结Linux中常用的文本处理命令,帮助大家更好地掌握这些命令,提高工作效率。(1)使用grep命令在大量文本中进行搜索,快速定位到符合条件的文本行。(1)使用grep命令搜索某个网站的用户名和密码,输出包含密码的行。(1)grep命令:用于搜索文本中的特定信息,支持多种格式化选项。

searchboy2025的博客 56
上一篇: SpringSecurity前后端分离的使用
下一篇: 前端实现可拖拽流程的js框架
MasonYyp
博客等级 码龄9年 301粉丝 297原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值