每日一shell之字符处理grep sort uniq cut tr paste split

2024-09-01 21:48

本文主要是介绍每日一shell之字符处理grep sort uniq cut tr paste split,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

grep搜索文本

grep -[icvn]‘匹配字符’ 文件名
-i不区分大小写
-c统计匹配行数
-n输出行号
-v反向匹配(就是不包含匹配字符的行)
这里写图片描述
需要注意的一点是有了-c这个选项输出只有行数,是不会输出内容的

sort排序

sort默认是按字符排序的
sort -[ntkr] 文件名
-n用数字排序
-t指定分割符
-k第几列
-r反向排序
这里写图片描述
这里就是按字母顺序
这里写图片描述
这里的11就是字母排序
这里写图片描述

uniq删除重复内容

一般这个命令需要和sort一起用
uniq -[ic]
-i忽略大小写
-c统计重复的行数
这里写图片描述

cut截取文本

cut -f指定列 -d分隔符
cut -c指定列的字符
这里写图片描述
注意空格
这里写图片描述

tr做文本转换

大小写转换
tr '[a-z]' '[A-Z]'
删除
tr -d '删除内容'
这里写图片描述
顺便说一下这里的命令不会改变源文件的内容
这里写图片描述

paste做文本合并

按行进行合并
paste file1 file2
paste -d:指定分隔符为冒号
这里写图片描述

split分割大文件

split -l按行分
split -b按大小分(二进制文件只能用按大小分)
这里写图片描述
这里用了dd命令创建了一个指定大小的文件
dd if=/dev/zero of=50M bs=M count=50
if是数据的写入源
of是数据的输入地
bs是后面count值的单位
dd命令是 用指定大小的块 来拷贝一个文件。

这篇关于每日一shell之字符处理grep sort uniq cut tr paste split的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1128137

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c

[英语单词] paste

这个单词的意思,有时候可能会被,被copy/paste误导了,会有一种假象,只有copy了才可以paste。 其实还可以将两个东西paste在一起。比如下面的: /kernel/include/linux/compiler_types.h /* Indirect macros required for expanded argument pasting, eg. __LINE__. */#d

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

bytes.split的用法和注意事项

当然,我很乐意详细介绍 bytes.Split 的用法和注意事项。这个函数是 Go 标准库中 bytes 包的一个重要组成部分,用于分割字节切片。 基本用法 bytes.Split 的函数签名如下: func Split(s, sep []byte) [][]byte s 是要分割的字节切片sep 是用作分隔符的字节切片返回值是一个二维字节切片,包含分割后的结果 基本使用示例: pa

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟)

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟) 题目描述 给定一个链表,链表中的每个节点代表一个整数。链表中的整数由 0 分隔开,表示不同的区间。链表的开始和结束节点的值都为 0。任务是将每两个相邻的 0 之间的所有节点合并成一个节点,新节点的值为原区间内所有节点值的和。合并后,需要移除所有的 0,并返回修改后的链表头节点。 思路分析 初始化:创建一个虚拟头节点

Thymeleaf:生成静态文件及异常处理java.lang.NoClassDefFoundError: ognl/PropertyAccessor

我们需要引入包: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>sp

每日一题|牛客竞赛|四舍五入|字符串+贪心+模拟

每日一题|四舍五入 四舍五入 心有猛虎,细嗅蔷薇。你好朋友,这里是锅巴的C\C++学习笔记,常言道,不积跬步无以至千里,希望有朝一日我们积累的滴水可以击穿顽石。 四舍五入 题目: 牛牛发明了一种新的四舍五入应用于整数,对个位四舍五入,规则如下 12345->12350 12399->12400 输入描述: 输入一个整数n(0<=n<=109 ) 输出描述: 输出一个整数

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚

【MRI基础】TR 和 TE 时间概念

重复时间 (TR) 磁共振成像 (MRI) 中的 TR(重复时间,repetition time)是施加于同一切片的连续脉冲序列之间的时间间隔。具体而言,TR 是施加一个 RF(射频)脉冲与施加下一个 RF 脉冲之间的持续时间。TR 以毫秒 (ms) 为单位,主要控制后续脉冲之前的纵向弛豫程度(T1 弛豫),使其成为显著影响 MRI 中的图像对比度和信号特性的重要参数。 回声时间 (TE)