首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux Shell工具篇 - 文本排序工具sort

介绍 sort命令Linux里非常有用,它将文本文件内容进行排序,并将排序结果标准输出或重定向输出到指定文件。...-k 指定需要排序的列 -d 排序时,处理英文字母数字及空格字符外,忽略其他的字符 -f 排序时,将小写字母视为大写字母 -b 忽略每行前面开始出的空格字符 -o 输出文件 将排序后的结果存入指定的文件...-u 意味着是唯一的(unique),输出的结果是去完重了的 -m 将几个排序好的文件进行合并 参数:指定待排序文本文件 演示 数据文件准备:sort.txt 1234567 张三 30 李四...数字升序去重 先按照“空格分割,然后按照第2列数字升序排序,最后对所有列去重: 1 sort -t " " -k2n,2 -uk1,2 sort.txt 运行效果 注意: 先排序再去重 3.数字升序去重结果保存到文件...1 sort -t " " -k2n,2 -uk1,2 -o sort2.txt sort.txt 运行效果 4.数字降序去重 先按照空格分割, 然后按照第2列数字降序排序,最后对所有列去重:

2.1K40

LeetCode-67. 二进制求和(Golang)

'0' 或 '1' 组成 字符串如果不是 "0" ,就不含前导零 三、思路分析 思路1:直接在原串上直接判断,值判断数字字母,双子针两头往中间遍历, 思路2:1、对原串进行晒选,只留字母数字 存进一个新数组中...四、算法实现 4.1 思路1算法代码 //解题思路:1、只留字母数字 放进一个新数组中,2、然后按普通回文串判断即可 func isPalindrome1(s string) bool { var...return (c >= 'a' && c = 'A' && c = '0' && c <= '9') } 4.2 思路2算法代码 /* 解题思路二:字符串上直接判断...bool { //转换成小写 s = strings.ToLower(s) var left, right = 0, len(s) - 1 for left < right { //只验证字母数字字符...returnB(s[left]) { left++ } //只验证字母数字字符,其余的跳过 for left < right && !

14410
您找到你想要的搜索结果了吗?
是的
没有找到

Shell实用工具

cut命令逐行读入文本然后按列划分字段并进行提取、输出等操作。...默认空格是分隔符 -k 指定需要排序的列,必备 -d 排序时,处理英文字母数字及空格字符外,忽略其他的字符。...-f 排序时,将小写字母视为大写字母 -b 忽略每行前面开始出的空格字符 -o 输出文件 将排序后的结果存入指定的文件 -u 意味着是唯一的(unique),输出的结果是去完重了的 -m 将几个排序好的文件进行合并...示例2: 数字升序去重 先按照“ ”空格分割后的, 然后,按照第2列数字升序排序, 最后对所有列去重 sort -t " " -k2n,2 -uk1,2 sort.txt ?...示例4: 数字降序去重 先按照“ ”空格分割后的, 然后,按照第2列数字降序排序, 最后对所有列去重 sort -t " " -k2nr,2 -uk1,2 sort.txt 运行效果 ?

7.8K10

08_Linux基础-vim-tmux-字符编码

@TOC08_Linux基础-vim-tmux-字符编码---一. vim文本编辑器-vim(==编辑文本==)Windows:记事本、word、sublime、pycharm能编辑音乐、视频、图片?...答:不能,==只能编辑文本==Linux:vi(==字符界面==),vim(==字符界面==),gedit(==图形化==)==unix 都会安装vi==vim 是vi的==加强版==(vi基础上添加其他功能...光标==跳到行==并进入插入模式a光标==后退一格==并进入插入模式A光标==退到行尾==并进入插入模式==o==光标所在==行下新起一行==并进入插入模式==O==光标所在==行上新起一行==并进入插入模式...==word==从下而上==文件中查找字符串“word”小==n====定位下一个==匹配的被查找字符串大==N====定位上一个==匹配的被查找字符串(注:/word 和 ?...==* 注意==:进入命令模式,按数字键,之后再进入插入模式的话,会将输入内容按照之前按的数字大小复制成多份(注:步骤vim 1.txt ——> 先按数字3 ——> 按i进入插入模式 ——> abc —

1.6K10

Oracle查询优化-02给查询结果排序

1以指定的次序返回查询结果 问题 解决方案 总结 2按多个字段排序 问题 解决方案 总结 3按子串排序 问题 解决方案 总结 4 TRANSLATE 语法 工具 总结 5 按数字字母混合字符串中的字母排序...---- 2.2按多个字段排序 问题 emp表中,首先按照deptno升序排列,然后按照工资降序排列 解决方案 order by子句中列出不同的排序列,使用逗号分隔 SQL> select a.deptno...order by中,优先顺序是从左到右。 如果在select列表中使用的数字位置排序,那么这个数值不能大于select列表中项目的数目。...如果 from_str 比 to_str 长,那么 from_str 中而不在 to_str 中的额外字符将从 string 中被删除,因为它们没有相应的替换字符。to_str 不能为空。...---- 2.5 按数字字母混合字符串中的字母排序 问题 现有字母数字混合的数据,希望按照数字或者字母部分来排序

1.1K20

统计文件中出现的单词次数

3)匹配表达式: [[:alpha:]] 代表字母 [[:alnum:]] 代表字母数字字符 [a-zA-Z0-9] 代表单个字母数字字符 匹配到/root/kevin.txt中所有的单词...分为以下几步: 1)将文本文件以一行一个单词的形式显示出来; 2)将单词中的大写字母转化成小写字母,即Word和word认为一个单词; 3)对单词进行排序; 4)对排序好的单词列表统计每个单词出现的次数...#$2是目标文本文件名称也可是是字符串 tr -cs "[a-z][A-Z][0-9]" "\n" | #tr是sed的简化,-c用前字符串中字符集的补集替换成后字符串即将不是字符数字的单词替换换行...,-c每列旁边显示该行重复出现的次数 sort -k1nr -k2 | #字符串以空格分成域,先按第一个域排序,在按第二个域排序...,字母以a开头的单词以z开头的单词后面。

3.7K111

Linux中sort命令介绍

Linux中有关sort的命令; sort命令作用: 对Linux中的文本文件进行排序 语法介绍 sort [选项] [文件] 常用选项包括: -r:逆序排序(降序)。 -n:按数值进行排序。...-f:忽略大小写进行排序。 -b:忽略行的空白字符进行排序。 -c:检查文件是否已经排好序,如果未排序则输出第一个不符合排序顺序的行。 -f:忽略大小写进行排序。...例如,sort -f file.txt 将忽略行首字母的大小写进行排序。 -b:忽略行的空白字符进行排序。 -c:检查文件是否已经排好序,如果未排序则输出第一个不符合排序顺序的行。...abb cs sa sort -r 1.txt (字符串降序排序) sa cs abb 数字排序:(-n参数) cat 1.txt 51 21 111 sort 1.txt (字符串升序排序)...zhaoliu sort -t ',' -k 1nr -k 2r 1.txt ( ','(t)分隔后,第1个字段按照降序(r)进行数字排序(n),第2个字段按照降序(r)进行字符串排列) 30,

11210

Linux 之 sort 命令

简介 sort 是用来排序的,Unix Shell 的传统是对问本行做处理,因此 sort 也是对文本行进行排序,如果需要排序字段,则可以通过指定 -k,-t 等选项来实现。...默认排序规则: 数字开头的行会排在字母开头行之前 字母排序(不分大小写) 小写字母会排在相同的大写字母之前 Options Flag 描述 -r, --reverse 倒序 -o, --output=...-i, --ignore-nonprinting 忽略不可打印字母,仅根据可打印字母排序 -n, --numeric-sort 转换为数字排序 -m, --merge 合并已排好序的文件 -t, --field-separator...F 是字段序号,C 是字段中字符的位置,默认都为1, 如果没有指定 -t 与 -b ,默认从行算起。...2列,如果相同再以数字形式倒序排序第4个字段 删除重复行 sort -u data 与 sort data | uniq 整行时行为是一致的,不过如果我们使用了 -k 排序字段时, 两者的行为就不一致了

2.4K10

《前端运维》一、Linux基础--08Shell其他及补充

[aoeiu]匹配任意一个元音字母, [0-9] 匹配任意一位数字, [a-z][0-9] 匹配由小写字母和一位数字构成的两位字符 grep ab[bc]c reg.txt [^] 匹配除中括号中的字符以外的任意一个字符...printf 使用引用文本或空格分隔的参数,外面可以 printf 中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。...,通常为ASCII的BEL字符 \b 后退 \c 抑制(不显示)输出结果中任何结尾的换行字符(只%b格式指示符控制下的参数字符串中有效),而且,任何留在参数里的字符、任何接下来的参数以及任何留在格式字符串中的字符...-c 检查文件是否已经按照顺序排序。 -d 排序时,处理英文字母数字及空格字符外,忽略其他的字符。 -f 排序时,将小写字母视为大写字母。...-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。 -m 将几个排序好的文件进行合并。 -M 将前面3个字母依照月份的缩写进行排序。 -n 依照数值的大小排序

66320

Linux系统入门系列之四:工具命令

、行数等信息,使用规则如下: sort -bfMnrtuk ‘文件或标准输出’ 其中-f忽略大小写,-b忽略最前面空格,-M按月份排序,-n纯数字排序,-r反向排序,-u相同数据拍在同一行,-t分隔符类型...,默认为空格(若是tab需要转义:-t $'\t'),-k作为排序标准的区间,默认以行排序。...wc -lwm ‘文件或标准输出’ 其中-l列出行数,-w列出字数,-m列出字符数,排序计数的具体使用示例如下: 计算文件的整体数据: 需要注意的是,不同语系下排序顺序不同,例如在en_US.UTF...-8中,字母无论大小写均按照字母表顺序排序,而C语言中大写字母排在小写字母之前: 计算当前路径下文件数目: ⑶字符转换命令:tr,col,expand 命令tr可以删除或替换文字信息,col和expand...,默认为行,-2也即第二个文件以一行的第几个字段为关键字。

73530

《前端运维》一、Linux基础–08Shell其他及补充

[aoeiu]匹配任意一个元音字母, [0-9] 匹配任意一位数字,[a-z][0-9] 匹配由小写字母和一位数字构成的两位字符 grep ab[bc]c reg.txt [^] 匹配除中括号中的字符以外的任意一个字符...printf 使用引用文本或空格分隔的参数,外面可以 printf 中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。...,通常为ASCII的BEL字符 \b 后退 \c 抑制(不显示)输出结果中任何结尾的换行字符(只%b格式指示符控制下的参数字符串中有效),而且,任何留在参数里的字符、任何接下来的参数以及任何留在格式字符串中的字符...-c 检查文件是否已经按照顺序排序。 -d 排序时,处理英文字母数字及空格字符外,忽略其他的字符。 -f 排序时,将小写字母视为大写字母。...-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。 -m 将几个排序好的文件进行合并。 -M 将前面3个字母依照月份的缩写进行排序。 -n 依照数值的大小排序

66320

PHP数据结构(二十六) ——基数排序实现36进制数排序

例如: 现有序列{a0,a1,a2,a3,b0,b1,b2,b3},假设a<b,数字数字正常的大小。现要求对这个序列进行排序,但是要求数字的优先级更高,即a0<b0<a1<b1。...2、排序的两种方式 1)最高位优先法(MSD法) 先按最高位排好,再排次高位,直至最低位。按上面例子,先按数字排好,再在排好的序列中去排字母的顺序。...2)最低位优先法(LSD法) 先按最低位排好,再排次低位,直至最高为。按上面例子,先按字母排好,根据字母个数分成x组,再各组之间互相比较高级别的关键字。...(例如三位字母数字混合字符串比较,只输入了a01,b23,a56,则只需要分配指针给a、b、0、1、2、3、5、6,而不需要分配26+10=36个指针) 3)设置一个头指针,指向序列的第一个元素...从小到大,数字字母小,0,1,2…9,a,b,c…z为从小到大的顺序。

1.9K110

linux设置法语键盘布局,法语键盘布局图「建议收藏」

小写字母中,底部的符号通常是通过点击该键获得的,而顶部的符号通常是通过按住Shift键获得的(也就是说,首先按下Shift键,然后点击相应的键)。...例如:=单击“数字键2”;2=移动“数字键2”大写的输入法与上面的正好相反。三。常见注释的输入第九数字9(“强制重音法语大写字母”必。 2、须事先在“单词选项”-“校对”标签中检查。)...数字键2编号键7先单击“左括号”,然后单击“e”首先按下shift键并点击“左括号”,然后点击“e”数字键0先单击“左括号”,然后单击“a”首先单击“左括号”,然后单击“I”首先按下shift键并点击...“左括号”,然后点击“I”首先单击“左括号”,然后单击“o”首先按下shift键并点击“左括号”,然后点击“o”报价键首先按下shift键并点击“左括号”,然后点击“u”(保存注释)数字键4-(连字符)...但是,办公室会自动留出冒号前的空间,所以操作时只需要注意冒号后的空间;e)保存不带空格的注释和连字符;f)输入文本时,打开“显示/隐藏编辑标记”功能,可立即检查空格、制表位等。

3.7K10

这 11 个前端小知识你不一定知道

这是因为,当我们调用不带参数的 sort 方法时,JavaScript 会将数组的元素转换为字符串,然后按字母顺序排序,疯狂吧? 04、交换 很多时候,我会用一个例子来交换数组中的两个元素或两个变量。...05、Trim 函数 许多编程语言中,我们字符串上有一个修剪方法,可以删除字符串中的任何空格。但是使用 JavaScript 修剪不会删除字符串中的所有空格。见下文。...它检查给定的参数是否是数字。但它对于空字符串和填充字符串的行为不同。见下文。...但是,第 2 行,JavaScript 将空字符串视为 0,这是一个数字,因此无法通过 NaN 测试。 第 3 行也应该清楚,因为“a”是一个字符串,因此不是数字。...同样,第 4 行中,“1”是一个字符串,但 JavaScript 在内部将其解析为数字 1,因此未能通过 NaN 测试。很奇怪吧?

95120

排序基数排序(Radix Sort)

简单来说,就是把数据分组,放在一个个的桶中,然后对每个桶里面的进行排序。    ...对数字型或字符型的单关键字,可以看作由多个数位或多个字符构成的多关键字,此时可以采用“分配-收集”的方法进行排序,这一过程称作基数排序法,其中每个数字字符可能的取值个数称为基数。...整理扑克牌时,既可以先按花色整理,也可以先按面值整理。...按花色整理时,先按红、黑、方、花的顺序分成4摞(分配),再按此顺序再叠放在一起(收集),然后按面值的顺序分成13摞(分配),再按此顺序叠放在一起(收集),如此进行二次分配和收集即可将扑克牌排列有序。   ...,所以我们可能过与插入排序组合,先获得一定长度的序列,然后再合并,效率上将有所提高。

2.6K20

vi命令详解(转)

C) 查找字符  「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。  「?关键字」:先按「?」...键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。 D) 保存文件  「w」:冒号输入字母「w」就可以将文件保存起来。...若在L命令之前加上数字n,则将光标移至从屏幕底部算起第n行的行。例如,在上面屏幕显示的情况下(不论光标屏幕的何处),命令模式下,输入命令3L之后,光标都将移到x++这一行的字母x上。...dd前可加上一个数字n,表示删除当前行及其后n-1行的内容。 D或d$:两命令功能一样,都是删除从光标所在处开始到行尾的内容。 d0:删除从光标前一个字符开始到行的内容。 dw:删除一个单词。...可以s前面加一个数字n,则表示用s后输入的文本替换从光标所在字符开始及其后的n-1个字符(共n个字符)。

1K40

VBA: 单元格区域基于指定列重新排序(4)

文章背景: 在数据处理时,有时需要根据指定列的内容进行重新排序。...针对品号这一列,希望借助字符串末尾的序号, (1)先按字母的个数升序,一个字母的在前,两个字母的在后; (2)当字母个数相同时,按字母升序; (3)当字母相同时,按数字大小升序。...数据源如下: 解决思路: 借助正则表达式,分别提取字符串末尾的字母数字,然后通过三个辅助列(字母数字字母个数)进行排序排序结束后,删除这三个辅助列。...=GetLetters(RC[-1])" Range("B2").AutoFill Destination:=Range("B2:B" & row_final) '数字...排序结束后,将这三个辅助列删去。 排序后的结果如下: 相关资料: [1] VBA: 单元格区域基于指定列重新排序(3) [2] 讯飞星火大语言模型

14710

vim带你装逼带你飞(二)

代码中光标的移到该串上先按 ctrl+/ 然后 c: 查找该函数被调用的位置 d: 查找该函数调用了哪些函数 e: 查找指定的正规表达式 f: 查找指定的文件 g: 查找指定标识符的定义位置...i: 查找该文件在哪些地方被包含 s: 查找指定标识符的使用位置 t: 查找指定的文本字符串 2....代码行快速移动 浏览模式下 j(下移一行)k(上移一行)h (左移一列)l (右移一列) shift + h (移到行) shift + l (移到行尾) gg (移动到文件开始) shift+g...(移动到文件最后) shift + f (下翻一屏) shift + b (上翻一屏) 先输入数字 然后 shift + g(直接跳转到该行) w (后移一个字符串) b (前移一个字符串) 5....拷贝删除 shift + v (选择行) ctrl + v (选择列) 然后输入y(拷贝) d (删除) yy (行拷贝) dd (行删除) 数字 + yy (多行拷贝) 数字 + dd (多行删除

92860

深入理解苹果系统(Unicode)字符串的排序方法

--- Unicode编码 我们知道计算机是不能直接处理文本的,而是和数字打交道。因此,为了表示文本,就建立了一个字符数字的映射表,叫做编码。...最著名的字符编码就是ASCII了,它使用7-bit来表示应用字母表以及数字和其他字符。...[n68ldfd7mo.png] 我们打开zh.xml,这个就是我们简体中文的排序规则,可以看到,里面默认采用的排序是pinyin排序,并且开头还写了各个声调字母排序先后顺序。...[5cfaotcrpz.png] 首先按照pinyin声调的先后顺序进行排序,即zh.xml底下列出的先后顺序进行排序。 如果是同一行的汉字,则按照笔画由少到多的顺序进行排序。...当然,这里取出的数字可能超出了uint64_t表示的最大值,但是这种概率很低,我们的名称排序中,很难遇到这么长的数字进行比较的。明白这个规则后,大家对字符串中出现的数字进行排序时应该比较理解了。

1.9K80
领券