`
tomhibolu
  • 浏览: 1431307 次
文章分类
社区版块
存档分类
最新评论

shell中tr的用法

 
阅读更多
tr(translate缩写)主要用于删除文件中的控制字符,或进行字符转换。
语法:tr [–c/d/s/t] [SET1] [SET2]
SET1: 字符集1
SET2:字符集2
-c:complement,用SET2替换SET1中没有包含的字符
-d:delete,删除SET1中所有的字符,不转换
-s: squeeze-repeats,压缩SET1中重复的字符
-t: truncate-set1,将SET1用SET2转换,
一般缺省为-t

1、去除重复的字符
#将连续的几个相同字符压缩为一个字符
$ echo aaacccddd | tr -s [a-z]
acd
$ echo aaacccddd | tr -s [abc]
acddd

2、删除空白行
#删除空白行就是删除换行符/n
#注意:这些空白行上只有回车符,没有空格符
$ cat test.txt
I love linux!


Hello World!

Shell is worthy to been studied

#这里用换行符的转义字符\n
#注意:此处用-s删除了多余的换行符,如果用-d,则会删除所有的换行符
$ cat test.txt | tr -s ["\n"]
I love linux!
Hello World!
Shell is worthy to been studied
#也可以用八进制符\012,\012与\n都是换行符
$ cat test.txt | tr -s "[\012]"
I love linux!
Hello World!
Shell is worthy to been studied

3、大小写相互转换
#将语句中所有的小写字母变成大写字母,其中-t可省略
$ echo "Hello World I Love You" |tr [-t] [a-z][A-Z]
HELLO WORLD I LOVE YOU
#将语句中所有的大写字母变成小写字母
$ echo "Hello World I Love You" |tr [A-Z] [a-z]
hello world i love you
#也可以利用字符类进行转换
#[:lower:]代表小写字母,[:upper:]代表大写字母
$ echo "Hello World I Love You" |tr [:lower:][:upper:]
HELLO WORLD I LOVE YOU

4、删除指定的字符
$ cat test.txt
Monday 09:00
Tuesday 09:10
Wednesday 10:11
Thursday 11:30
Friday 08:00
Saturday 07:40
Sunday 10:00
#现在要删除处理星期之外的所有字符
#-d代表删除,[0-9]代表所有的数字,[: ]代表冒号和空格
$ cat test.txt | tr -d "[0-9][: ]"
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

5、利用-c进行补集的替换
#有时候在文本中我们只知道要保留的一些字符,其他字符种类繁多,就可以使用补集的替换
$ cat test.txt
Monday 09:00
Tuesday 09:10
Wednesday 10:11
Thursday 11:30
Friday 08:00
Saturday 07:40
Sunday 10:00
#我们只需要星期,则思路就是除了字母,其他统统替换掉
#这里,-c:用换行符替换掉除了字母外的所有字符-s:删除多余的换行符
cat test.txt|tr -cs "[a-z][A-Z]" "\n"
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
分享到:
评论

相关推荐

    linux shell命令tr的用法

    linux shell命令tr的用法

    shell编程指南,shell脚本,本书共分五部分全。grep家族,sed,AWK,正则表达式,tr用法

    第12章 tr用法 119 第三部分 登录环境 第13章 登录环境 125 第14章 环境和shell变量 132 第15章 引号 146 第四部分 基础shell编程 第16章 shell脚本介绍 151 第17章 条件测试 154 第18章 控制流结构 160 第19章 ...

    Linux shell tr 命令详解

    ### Linux Shell `tr` 命令详解 #### 一、引言 在日常的Linux系统管理和文本处理任务中,`tr` 命令是一个非常实用且强大的工具。它能够帮助用户执行字符的替换、删除及压缩重复字符等操作。本文将详细解析`tr`命令...

    shell脚本如何获取随机数random

    这种方法简单并且易于在脚本中使用,但是产生的随机数范围是有限的。 为了避免上述提到的并发问题,文章介绍了使用/dev/urandom来生成更安全的随机数种子的方法。/dev/urandom是一个提供伪随机数生成器的特殊文件,...

    UNIX命令及SHELL编程

    02_Shell-使用find和xargs.PDF 03_Shell-后台执行命令.PDF 04_Shell-文件名置换.PDF 05_Shell-shell输入与输出.PDF 06_Shell-命令执行顺序.PDF 07_文本过滤-正则表达式介绍.PDF 08_文本过滤-grep 家族.PDF 09...

    Unix Shell by Example.zip

    《Unix Shell by Example》这本书是Unix/Linux系统用户和管理员的重要参考资料,它深入浅出地介绍了Unix Shell的使用方法。Shell是Unix系统中的命令解释器,是用户与操作系统交互的桥梁,通过Shell脚本,我们可以...

    linux shell实现求一个多维数组中的最大和最小值

    本文将详细介绍如何使用 Linux Shell 来找出一个包含多个一维数组的多维数组中的最大值和最小值。 #### 核心知识点: 1. **Shell 数组的定义与使用** 2. **Shell 脚本中的循环结构** 3. **条件判断与变量赋值** 4....

    绝版经典 LINUX与UNIX SHELL编程指南 PDF 高清版 [16.3M]

    第十二章 TR用法 第三部分 登录环境 第十三章 登录环境 第十四章 环境和SHELL变量 第十五章 小结 第四部分 基础SHELL编程 第十六章 SHELL脚本介绍 第十七章 条件测试 第十八章 控制流结构 第十九章 SHELL...

    Linux&SHELL;基本知识笔试试卷

    - **知识点**:在 Linux 中执行 SHELL 脚本,可以使用以下几种方法: - 使用 `source $shell_script` 或 `.$shell_script` 来在当前 shell 中执行脚本。 - 使用 `sh $shell_script` 或 `./$shell_script` 来在一个...

    Linux Shell编程3/3

    _grep家族 |_awk介绍 |_sed用法介绍 |_合并与分割 |_tr用法 第三部分登录环境 |_登录环境 |_环境和shell变量 |_引号 第四部分基础shell编程 |_shell脚本介绍 |_条件测试 |_控制...

    Shell自学pdf.zip

    第12 章tr 用法.PDF 第13 章登录环境.PDF 第14 章环境和shell 变量.PDF 第15 章引号.PDF 第16 章shell 脚本介绍.PDF 第17 章条件测试.PDF 第18 章控制流结构.PDF 第19 章shell 函数.PDF 第20 章向脚本传递参数.PDF ...

    shell编程 linux

    012tr 用法.pdf 013登录环境.pdf 014环境和shell变量.pdf 015引号.pdf 016shell脚本介绍.pdf 017条件测试.pdf 018控制流结构.pdf 019shell 函数.pdf 020向脚本传递参数.pdf 021创建屏幕输出.pdf 022创建...

    LINUX与UNIX_Shell编程指南

    第一部分 shell 第1章 文件安全与权限 ...第12章 tr用法 第三部分 登录环境 第13章 登录环境 第14章 环境和shell变量 第15章 引号 第四部分 基础shell编程 第16章 shell脚本介绍 第17章 条件测试 等等,内容较多

    shell 编程指南pdf

    第12章 tr用法 119 12.1 关于tr 119 12.1.1 字符范围 119 12.1.2 保存输出 120 12.1.3 去除重复出现的字符 120 12.1.4 删除空行 120 12.1.5 大写到小写 121 12.1.6 小写到大写 121 12.1.7 删除指定字符 121 12.1.8 ...

    LINUX与UNIX SHELL编程指南(很全)

    第12章 tr用法 119 12.1 关于tr 119 12.1.1 字符范围 119 12.1.2 保存输出 120 12.1.3 去除重复出现的字符 120 12.1.4 删除空行 120 12.1.5 大写到小写 121 12.1.6 小写到大写 121 12.1.7 删除指定字符 121 12.1.8 ...

    shell 编程(中文)[pdf]

    012_tr的用法.pdf 013_登录环境.pdf 014_环境和shell变量.pdf 015_引号.pdf 016_基础shell编程_shell脚本介绍.pdf 017_条件测试_test_expr.pdf 018_控制流结构_if_for_while_case_util_break_continue.pdf 019_Shell...

    linux中的命令shell与make介绍

    ### Linux中的Shell与Make介绍 #### 一、Shell概述 **1.1 什么是Shell** - **用户与Linux的接口**: Shell充当了用户与Linux操作系统...掌握这两种工具的使用方法,对于深入理解和利用Linux系统的强大功能至关重要。

    LINUX与UNIX SHELL编程指南

    第十二章 TR用法 第三部分 登录环境 第十三章 登录环境 第十四章 环境和SHELL变量 第十五章 小结 第四部分 基础SHELL编程 第十六章 SHELL脚本介绍 第十七章 条件测试 第十八章 控制流结构 第十九章 SHELL函数 第二...

Global site tag (gtag.js) - Google Analytics