一、排序命令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. 用transform和rem哪个好

    个人觉得电脑端的用transform好,毕竟电脑端的项目基本都会固定屏幕比列,16:9.28:9.32:9的 一个固定的设计稿就能很好的适配. 移动端用rem比较好,移动端的屏幕比列太杂,使用rem自 ...

  2. 密码学系列之:twofish对称密钥分组算法

    简介 之前的文章我们讲到blowfish算法因为每次加密的块比较小只有64bits,所以不建议使用blowfish加密超过4G的文件.同时因为加密块小还会导致生日攻击等.所以才有了blowfish的继 ...

  3. CapsuleAO实现的学习

    正是一个炎夏,又到了整活的好时候.最近抽些时间研究下CapsuleAO,记述实践体会. 1.简介 这是一个通过在角色骨骼上绑定虚拟胶囊体并以数学方法实现胶囊近似的AO环境光遮蔽效果的方法, 当角色处于 ...

  4. 什么是WAF?

    1.什么是Web Application Firewall(WAF)? WAF或Web Application Firewall通过过滤和监控Web应用程序与Internet之间的HTTP流量来帮助保 ...

  5. 7.2、compute节点配置

    用于创建虚拟机的节点: 0.配置openstack版本yum源: yum install centos-release-openstack-rocky 1.nova-compute的安装: (1)安装 ...

  6. MySQL原理 - InnoDB引擎 - 行记录存储 - Off-page 列

    本文基于 MySQL 8 在前面的两篇文章,我们分析了 MySQL InnoDB 引擎的两种行记录存储格式: Compact 格式 Redundant 格式 在这里简单总结下: Compact 格式结 ...

  7. KDE桌面环境下konsole,kate等软件无法切换中文输入法

    解决方案(arch): 修改/etc/profile,增加以下语句: #fcitxexport XIM_PROGRAM=fcitxexport XIM=fcitxexport GTK_IM_MODUL ...

  8. Unknown custom element: <...> - did you register the component correct?

    之前用过的组件没有出现过任何问题,但偏偏在其他目录下引用就出问题了.组件的名称.import的路径都没任何问题,发现这是因为组件name填写不规范所导致的. 在定义组件的时候我们要严格按照官方文档要求 ...

  9. Hystrix 使用说明

    1.什么情况下会触发 fallback 方法 名字 描述 触发fallback EMIT 值传递 NO SUCCESS 执行完成,没有错误 NO FAILURE 执行抛出异常 YES TIMEOUT ...

  10. Java实验项目三——面向对象定义职工类和日期类

    Program:按照如下要求设计类: (1)设计一个日期类,用于记录年.月.日,并提供对日期处理的常用方法. (2)设计一个职工类,该职工类至少具有下面的属性:职工号,姓名,性别,生日,工作部门,参加 ...