一、排序命令sort

以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序

1、格式

sort [选项] 参数

cat file | sort 选项

2、常用选项

选项 说明

-f 忽略大小写,默认会大写字母排在前面

-b 忽略每行前面的空格

-n 按照数字进行排序

-r 反向排序

-u 等同uniq,表示相同的数据仅显示一行,去重

-t 指定字段分隔符,默认使用tab键分隔

-k 指定排序字段

-o <输出文件> 将排序后的结果转存至指定文件

sort -n testfile2

sort -t ':' -k 3 -n /etc/passwd

du -a | sort -nr -o du.txt

3、例子









二、去除重复行操作命令uniq

用于报告或者忽略文件中连续的重复行,常与sort命令结合使用

1、格式

uniq [选项] 参数

cat file | uniq 选项

2、常用选项

选项 说明

-c 进行计数,并删除文件中重复出现的行

-d 仅显示连续的重复行

-u 仅显示出现一次的行

uniq testfile3

sort -n testfile3 | unig -C

3、示例



三、字符转换命令tr

常用于对来自标准输入的字符进行替换、压缩和删除

1、格式

tr [选项] [参数]

2、常用选项

选项 说明

-c 保留字符集1的字符,其他的字符(包括换行符\n)用字符集2替换

-d 删除所有属于字符集1的字符

-s 将重复出现的字符串压缩为一个字符串,用字符集2 替换 字符集1

-t 字符集2 替换 字符集1,不加选项同结果

3、参数

字符集1:

指定要转换或删除的原字符集。当执行转换操作时,必须使用参数”字符集2“指定转换操作时,必须使用参数”字符集2“指定转换的目标字符集。但执行删除操作时,不需要参数”字符集2“

字符集2:

指定要转换成的目标字符集

4、示例



删除空行

echo -e "aa\n\n\n\n\nbb" | tr -s "\n"

cat testfile5 | tr -s "\n"



把路径变量中的冒号 “:”,替换成换行符 “\n”

echo $PATH | tr -s ":" "\n"

echo -e "aa\n\n\n\n\nbb" | tr -s "\n" ":"



删除Windows文件“造成"的’^M’字符

cat abc.txt | tr -s "\r" "\n" > new_file



cat abc.txt | tr -d "\r" > new_file

Linux中遇到换行符("\n")会进行回车+换行的操作,回车符反而只会作为控制字符("^M")显示,不发生回车的操作。而windows中要回车符

+换行符("\r\n")才会回车+换行,缺少一个控制符或者顺序不对都不能正确的另起一行

cat -v abc.txt

dos2unix abc.txt



四.数组排序新方法

echo ${array[*]} | tr ' ' '\n'| sort-n > file

a=0

for i in $(cat file)

do

array[$a]=$i

let a++

array+=($i)

done



五、显示、连接文件命令——cut

显示行中的指定部分,删除文件中指定字段

1、格式

cut [选项] 参数

cat file | cut 选项

2、常用选项

选项 说明

-b 以字节为单位进行分割 ,仅显示行中指定直接范围的内容

-c 以字符为单位进行分割 , 仅显示行中指定范围的字符

-d 自定义分隔符,默认为制表符”TAB”

-f 显示指定字段的内容 , 与-d一起使用

-n 取消分割多字节字符

–complement 此选项用于排除所指定的字段

–out-delimiter 更改输出内容的分隔符

cut -d ':' -f 1 /etc/passwd

grep '/bin/bash' /etc/passwd | cut -d ':' -f 1-4,6,7 #以-分隔的开始字段和结束字段指定字段的范围

grep '/bin/bash' /etc/passwdIcut -d ': ' --complement -f 2 #排除第二个字段

cut -d ':' -f1, 7 --output-delimiter=' /etc/ passwd #输出分隔符使用空格分隔

3、示例



六、eval命令

加上eval时,shell会执行命令之前扫描两次。eval命令将首先会先扫描命令行进行所有命令适用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。

示例





sort,uniq,tr,cut,eval命令的更多相关文章

  1. shell脚本命令(sotr/unip/tr/cut/eval)与正则表达式

    shell脚本命令(sotr/unip/tr/cut/eval)与正则表达式 1.sort命令 概述: Linux sort命令用于将文本文件内容加以排序. sort命令可针对文本文件的内容,以行为单 ...

  2. 转-Shell笔记——命令:Sort,uniq,join,cut,paste,split

    转自:http://blog.csdn.net/wklken/article/details/6562098 Sort,uniq,join,cut,paste,split 命令—— Sort Sort ...

  3. linux awk,sort,uniq,wc,cut命令详解

    1.awk awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 $ 表示当前行 $ 表示第一列 NF 表示一共有多少列 $NF 表示最 ...

  4. 《linux 字符处理》- grep/sort/uniq/tr/paste

    一:基本 字符处理主要是文本的搜索和处理. 搜索也主要使用到了 管道 作为媒介. 二: grep 搜索文本 基本语法 * grep [-incv] ’文本’ 文件 * i 不区分大小写 * c 匹配行 ...

  5. 文本处理常用命令--sort,uniq,cut,wc

    #文本处理命令--sort,cut,wc及其他 文本处理命令还有其他常用的,比如:sort,cut,wc 1.cut命令的用法 cut命令: cut - remove sections from ea ...

  6. shell——sort、uniq、tr、cut和eval命令

    一.排序命令sort 以行位单位对文件内容进行排序,也可以根据不同的数据类型进行排序 格式:sort [选项] 参数 格式:cat file | sort 选项 1.2常用选项 选项说明 -f 忽略大 ...

  7. linux sort,uniq,cut,wc,tr命令详解

    sort是在Linux里非常常用的一个命令,对指定文件进行排序.去除重复的行 sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sor ...

  8. Linux管线命令 - cut,grep,sort,uniq,wc,tee,tr,col,join,paste,expand,split,xargs

    在每个管线后面接的第一个数据必定是『命令』喔!而且这个命令必须要能够接受 standard input 的数据才行,这样的命令才可以是为『管线命令』,例如 less, more, head, tail ...

  9. 文件上传下载,命令之wget / curl / which / sort / uniq / cut / wc /tr /sed

    目录 命令 1.文件的上传下载 2.从外网下载文件wget 3.curl文件下载 4.查找命令which 5.字符处理命令-排序sort 6.字符处理-去重uniq 7.字符处理-截取cut 8.字符 ...

随机推荐

  1. React 并发功能体验-前端的并发模式已经到来。

    React 是一个开源 JavaScript 库,开发人员使用它来创建基于 Web 和移动的应用程序,并且支持构建交互式用户界面和 UI 组件.React 是由 Facebook 软件工程师 Jord ...

  2. Linux 从头学 01:CPU 是如何执行一条指令的?

    作 者:道哥,10+年的嵌入式开发老兵. 公众号:[IOT物联网小镇],专注于:C/C++.Linux操作系统.应用程序设计.物联网.单片机和嵌入式开发等领域. 公众号回复[书籍],获取 Linux. ...

  3. count、counta函数巧妙运用于合并单元格填充序号

    函数运用: 1.COUNT(value1,value2, ...)      value1 是必需参数. 要计算其中数字的个数的第一项.单元格引用或区域.      value2, ... 为可选参数 ...

  4. 1、SpringBoot整合之SpringBoot整合JSP

    SpringBoot整合JSP 一.创建SpringBoot项目,仅选择Web模块即可 二.在POM文件中添加依赖 <!-- 添加servlet依赖模块 --> <dependenc ...

  5. 关于TreeView的实例

    前台代码 (只需要有TreeView控件, 添加ID,其他默认生成) <form id="form1" runat="server"> <di ...

  6. WinUI桌面版替换UWP项目实际使用

    最近做了一个3D打印的RC遥控车.然后就想着用xbox手柄控制小车的前进和转向吧,于是就用surface平板接收收手柄的数据,然后通过串口的2.4G模块传输数据,看上挺简单的,其实本身也挺简单的. 我 ...

  7. AcWing 829. 模拟队列

    实现一个队列,队列初始为空,支持四种操作: (1) "push x" – 向队尾插入一个数x: (2) "pop" – 从队头弹出一个数: (3) " ...

  8. 用swoole实现异步任务队列

    应用场景如下: 假如要发100封邮件,for循环100遍,这种方法显然是不可取的. 在一些比较繁杂的业务里,我们很可能有超过1万的邮件要群发.那我们怎么处理这个延迟的问题? 答案就是用异步.把&quo ...

  9. [转载] 笑话:Developer and product manager

    A man flying in a hot air balloon suddenly realizes he's lost. He reduces height and spots a man dow ...

  10. Hive源码上手及问题解决

    一.编译准备 1.下载源码包 https://github.com/apache/hive/archive/refs/tags/rel/release-2.3.7.zip 或使用git直接拉取 无法解 ...