目录:

一、sort命令

二、uniq命令

三、tr命令

四、cut命令

五、eval命令

一、sort命令

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

语法格式

sort [选项] 参数

cat file | sort 选项

常用选项

-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

二、uniq命令

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

语法格式

uniq [选项] 参数
cat file | uniq 选项

常用选项

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

-d:  仅显示连续的重复行

-U:  仅显示出现一次的行
uniq testfile3
sort -n testfile3 | unig -C


三、tr命令

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

语法格式

tr [选项] [参数]

常用选项

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

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

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

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

参数:

  • 字符集1:指定要转换或删除的原字符集。当执行转换操作时,必须使用参数“字符集2”指定转换的目标字符集。但执行删除操作时,不需要参数“字符集2”
  • 字符集2:指定要转换成的目标字符集
echo "abc" | tr 'a-z' 'A-Z'
echo -e "abc\ncabcdab" | tr -c "ab\n" "0"
echo -e " abc\ncabcdab"| tr -c "ab" "O"
echo 'hello world' | tr -d 'od'
echo "thissss is a text linnnnnnne." | tr -s 'sn'

删除空行

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" ":"

1 echo ${array[*]} | tr ' ' '\n'| sort-n > file
2
3 a=0
4 for i in $(cat file)
5 do
6 array[$a]=$i
7 let a++
8 #array+=($i)
9 done

四、cut 命令

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

语法格式

cut 选项 参数
cat file | cut 选项

常用选项

-f: 通过指定哪一个字段进行提取。cut命令使用“TAB"作为默认的字段分隔符

-d: “TAB”是默认的分隔符,使用此选项可以更改为其他的分隔符

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

--output-delimiter :更改输出内容的分隔符

五、eval命令

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

sort-uniq-tr-cut命令 对文件处理相关操作的更多相关文章

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

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

  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. java文件夹相关操作 演示样例代码

    java文件夹相关操作 演示样例代码 package org.rui.io; import java.io.File; import java.io.FilenameFilter; import ja ...

  4. Oracle 参数文件及相关操作介绍

    Oracle 参数文件及相关操作介绍 by:授客 QQ:1033553122 1.服务器参数文件 服务器参数文件是一个二进制文件,作为初始化参数的存储仓库.实例运行时,可用ALTER SYSTEM来改 ...

  5. 关于C#资源文件的相关操作

    关于资源文件的相关操作. //1.比较常见的有获取资源文件对应的文件流,然后转换到相对应的文件 //比较典型的做法是通过代码程序集加载指定资源 //如下通过Assembly的静态方法GetExecut ...

  6. 用 JSP 实现对文件的相关操作

    前段时间一直忙着作业,实验,动手的时间真是少之又少,今天终于可以继续和大家分享关于 JSP 的学习心得. 简单总结一下吧: JSP 理论性很强,感觉就是纯语法. 我更偏向于实际编写代码,这样更容易理解 ...

  7. plist文件的相关操作

    本文概要 1.plist文件的简介 2.在Xcode中创建plist文件 3.在Xcode中将plist文件转换成数组或者字典对象 4.将数组或者字典对象转换成plist文件并且存储 详细介绍 1.p ...

  8. linux基础——关于chmod用户权限和文件的相关操作

    第一部分:1) 新建用户natasha,uid为1007,gid为555,备注信息为“master” 操作:useradd natasha新建natasha:修改uid是,usermod -u 100 ...

  9. Java IO_001.File类--文件或文件夹相关操作

    Java IO之File对象常用操作 File类:用于文件或文件夹或网址相关联的操作.可以关联或不关联文件(即关联不存在的文件).构造函数有: public File(String pathname) ...

随机推荐

  1. vue日记②之兼容各种情况的可跳转链接

    兼容各种情况的可跳转链接 需求 因为聊天气泡颜色原因,发送出去的链接通常模糊不清,而且不能直接跳转,所以我打算已a链接的显示直接抓取所有的网页链接,同时还要兼容富文本框的直接输入图片 这是运行效果 实 ...

  2. Http Request Smuggling - Note

    http请求走私漏洞 访问Burp靶场速度感人..都要哭了(如果没有账户的先创建账户) 基础补充 pipeline http1.1有了Pipeline,就不需要等待Server端的响应了.浏览器默认不 ...

  3. 树莓派3B/3B+/4B 刷机装系统烧录镜像教程

    树莓派3B/3B+/4B 刷机装系统烧录镜像教程 树莓派 背景故事 刚拿到树莓派的第一件事,应该就是要装系统了,那么应该怎么操作呢?下面就给大家介绍一下吧. 硬件准备 树莓派:3B/3B+/4B,本教 ...

  4. SpringBoot开发二十一-发送私信

    发送私信功能开发: 功能开发 数据访问层 message-mapper.xml 增加 <insert id="insertMessage" parameterType=&qu ...

  5. sqli-labs lesson 54-65

    less 54 需要从数据库的CHALLENGES表中取出key值输入,输入对了才算通过,但是只能做10次尝试. 这里id被单引号包裹,注意闭合单引号即可,剩下的就可以参照less 1获取表中信息即可 ...

  6. com.github.ulisesbocchio:jasypt-spring-boot-starter:2.0.0引用了sping cloud Finchley.M8版本,一直报错说不能从阿里云下载

    解决方法: 1.找到idea或者eclipase中maven插件引向得settings.xml文件 2.修改文件中<mirror/>标签(配置仓库镜像用得)中<mirrorOf/&g ...

  7. HttpClient 4.3教程-前言

    前言 Http协议应该是互联网中最重要的协议.持续增长的web服务.可联网的家用电器等都在继承并拓展着Http协议,向着浏览器之外的方向发展. 虽然jdk中的java.net包中提供了一些基本的方法, ...

  8. Inject-APC(Ring0)

    1 #include "stdafx.h" 2 #include <iostream> 3 #include <Windows.h> 4 #include ...

  9. save tran tranName

    begin tran 语句将 @@Trancount加 1.Rollback tran将 @@Trancount递减到 0,但 Rollback tran savepoint_name 除外,它不影响 ...

  10. mysql复制内容到一张新表

    -- 1.复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表 -- 2.只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WH ...