一、排序命令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. win10下简单截图

    win10 下面可以 win+shift+s 拖动截图,个人感觉是最简单的

  2. 微信获取信息发生错误(两个access_token的区别),错误代码:40001,说明:invalid credential, access_token is invalid or not latest hints

    微信有两个access_token,一个是基础access_token,一个是网页授权access_token. 想要获取不带unionid的用户信息(以下链接)使用基础access_token ht ...

  3. 一次 RocketMQ 顺序消费延迟的问题定位

    一次 RocketMQ 顺序消费延迟的问题定位 问题背景与现象 昨晚收到了应用报警,发现线上某个业务消费消息延迟了 54s 多(从消息发送到MQ 到被消费的间隔): 2021-06-30T23:12: ...

  4. Place the Robots 需要较强的建图能力

    Place the Robots 思路:在任意一个点格子放机器人,那么它所在的行和列被控制了.我们对每一行或每一列连续的空地(草地忽视)称之为块,给每一行和每一列的块标号, 每一行的快与每一列的快相交 ...

  5. AOF重写导致的Redis进程被kill

    Redis环境描述 服务器: 阿里云16GB服务器 Redis版本: 5.0.5 持久化方式: AOF 问题描述 阿里云环境,使用docker安装的单节点redis5.x,频繁出现redis进程被操作 ...

  6. XCTF(MISC) 坚持60s

    题目描述:菜狗发现最近菜猫不爱理他,反而迷上了菜鸡 下载附件,发现是一个游戏,同时要玩到60s才能得到flag(可恶,完全玩不到60s,被疯狂嘲讽) ------------------------- ...

  7. 架构之:REST和RESTful

    目录 简介 REST REST和RESTful API REST架构的基本原则 Uniform interface统一的接口 Client–server 客户端和服务器端独立 Stateless无状态 ...

  8. 测试管理工具 - Tuleap部署和安装使用教程

    安装 通过CentOS的安装,非常简单,命令直接为pip install tuleap 部署 登录管理员权限 登录名为中文名拼音,如wuweiping. 设置的默认密码为12345678,也可以进入配 ...

  9. C语言:获取汉字的编码

    #include <stdio.h> #include <locale.h> #include <wchar.h> int main() { setlocale(L ...

  10. C语言:键盘输入

    C语言有多个函数可以从键盘获得用户输入,它们分别是: scanf():和 printf() 类似,scanf() 可以输入多种类型的数据. getchar().getche().getch():这三个 ...