我的编程空间,编程开发者的网络收藏夹
学习永远不晚

shell实现tr删除替换详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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、去除重复的字符

#删除空白行就是删除换行符/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.
#也可以用八进制符12,12与n都是换行符。
$ cat test.txt | tr -s "[12]"
I love linux!
Hello World!
Shell is worthy to been studied.

2、大小写互换

# 将语句中所有的小写字母变成大写字母,其中-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

3、删除指定的字符

$ 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

4、利用-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

总结:其中大小写字母的转换,删除不需要的字符比较常用。tr语法简单,易用。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

shell实现tr删除替换详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

shell实现tr删除替换详解

tr(translate缩写)主要用于删除文件中的控制字符,或进行字符转换。 语法:tr [?c/d/s/t] [SET1] [SET2] #SET1: 字符集1;SET2:字符集2 -c:complement,用SET2替换除SET1
2022-06-04

怎么用shell实现tr删除替换功能

这篇文章主要介绍“怎么用shell实现tr删除替换功能”,在日常操作中,相信很多人在怎么用shell实现tr删除替换功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用shell实现tr删除替换功能”的疑
2023-06-09

详解Java如何实现在PDF中插入,替换或删除图像

图文并茂的内容往往让人看起来更加舒服,如果只是文字内容的累加,往往会使读者产生视觉疲劳。搭配精美的文章配图则会使文章内容更加丰富。那我们要如何在PDF中插入、替换或删除图像呢?别担心,今天为大家介绍一种高效便捷的方法
2023-01-11

替换so文件来动态替换Flutter代码实现详解

这篇文章主要为大家介绍了替换so文件来动态替换Flutter代码实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-01-18

Python利用pptx操作PPT实现幻灯片的删除与替换

这篇文章主要为大家详细介绍了python如何使用pptx库实现操作PPTx幻灯片文件删除并替换图片,文中的示例代码讲解详细,感兴趣的可以尝试一下
2023-02-03

详解B树删除操作:使用Python实现B树删除操作的详细图解

B树删除操作需要考虑节点所在位置和平衡,并且很有可能会发生下溢的情况。当一个节点包含的子节点数量少于它应该持有的最小数量时,就会发生下溢。图文展示B树删除操作原理在不影响平衡情况下。下溢情况。删除内部节点。Python实现B树删除
详解B树删除操作:使用Python实现B树删除操作的详细图解
2024-01-22

Java实现替换集合中的元素的方法详解

本文提供了五种方法来实现Java集合中元素的替换:set()用于直接替换特定索引处的元素。replace()根据谓词函数替换特定元素。replaceAll()逐个替换所有元素。Collections.replaceAll()替换与指定值匹配的所有元素。Stream.map()通过流处理逐个替换元素,允许进一步转换。选择合适的方法取决于集合类型、元素数量和所需的灵活性。
Java实现替换集合中的元素的方法详解
2024-04-02

C++替换栈中和.data中的cookie实现步骤详解

这篇文章主要介绍了C++替换栈中和.data中的cookie实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
2022-11-13

python 实现删除文件或文件夹实例详解

python 实现删除文件或文件夹最近自己学习Python 的知识,自己学习抓取网页的内容知识等,在学习的时候Python 删除文件夹或者文件知识的时候,觉得本篇内容不错,推荐给大家。 实例代码,仔细看注释明细:#-*- coding: U
2022-06-04

Android自定义view实现左滑删除的RecyclerView详解

RecyclerView是Android一个更强大的控件,其不仅可以实现和ListView同样的效果,还有优化了ListView中的各种不足。其可以实现数据纵向滚动,也可以实现横向滚动(ListView做不到横向滚动)。接下来讲解RecyclerView的用法
2022-11-13

详解Android中实现ListView左右滑动删除条目的方法

使用Scroller实现绚丽的ListView左右滑动删除Item效果 这里来给大家带来使用Scroller的小例子,同时也能用来帮助初步解除的读者更加熟悉的掌握Scroller的使用,掌握好了Scroller的使用我们就能实现很多滑动的效
2022-06-06

编程热搜

目录