当前位置: 首页 > article >正文

Linux tr 命令使用详解

简介

tr (translate)命令用于在 Linux 中翻译或删除输入流(通常是 stdin )中的字符。它主要用于文本操作,并且可以作为转换或删除文本文件或流中的特定字符的方便工具。

基本语法

tr [OPTION] [SET1] [SET2]
  • SET1:要替换或删除的字符集

  • SET2:将替换 SET1 中的字符的字符集

常用选项

  • -d:删除 SET1 中的字符

  • -s:挤压 SET1 中的连续相同字符

  • -c:对 SET1 中的字符进行补充(反匹配)

示例用法

将小写字母转换为大写字母
echo "hello world" | tr 'a-z' 'A-Z'

输出

HELLO WORLD
将大写字母转换为小写字母
echo "HELLO WORLD" | tr 'A-Z' 'a-z'

输出

hello world
删除指定字符

将从输入中删除所有数字

echo "hello 123 world" | tr -d '0-9'

输出

hello  world
挤压(删除)重复字符

使用 -s 选项将多个连续出现的字符替换为单个字符

echo "aaabbbccc" | tr -s 'a-c'

输出

abc
用另一个字符替换一个字符
echo "hello world" | tr ' ' '_'

输出

hello_world
删除换行符

即将多行输入转换为单行

echo -e "hello\nworld\n" | tr -d '\n'

输出

helloworld
转换特殊字符

将空格转换为制表符

echo "hello world" | tr ' ' '\t'

输出

hello    world
转换文件中的文本

读取 input.txt 文件,将所有小写字母转换为大写,并将结果写入 output.txt

tr 'a-z' 'A-Z' < input.txt > output.txt
从文件中删除特定字符

将从 input.txt 文件中删除所有元音 (a、e、i、o、u),并将结果写入 output.txt

tr -d 'aeiou' < input.txt > output.txt
使用 -c 选项对 SET1 中的字符进行补充

删除除数字之外的所有字符

echo "Your PIN is: 1234" | tr -cd [:digit:]

输出

1234
删除所有非字母字符
echo "Hello, World! 123" | tr -cd 'a-zA-Z'

输出

HelloWorld
将句子转换为除第一个字母外的其他字母为小写
echo "HELLO WORLD" | tr 'a-z' 'A-Z' | tr 'A-Z' 'a-z' | sed 's/^\(.\)/\U\1/'

输出

Hello world
原文地址:https://blog.csdn.net/tangPHP/article/details/145410835
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/528545.html

相关文章:

  • 【题解】AtCoder Beginner Contest ABC391 D Gravity
  • OpenAI承认开源策略错误,考虑调整策略并推出o3-mini模型
  • 攻防世界 simple_php
  • Java基础知识总结(三十九)--流对象
  • 【JavaEE】Spring(4):配置文件
  • 1992-2025年中国计算机发展状况:服务器、电脑端与移动端的演进
  • Effective Objective-C 2.0 读书笔记—— 方法调配(method swizzling)
  • 【自然语言处理(NLP)】深度学习架构:Transformer 原理及代码实现
  • 2025_2_1 C语言中关于字符串
  • 从 HTTP/1.1 到 HTTP/3:如何影响网页加载速度与性能
  • 交易股指期货有什么技巧吗?
  • C++中的构造器(Constructor)(也称为构造函数)
  • 三、js笔记
  • 扬帆启航于数据结构算法之雅舟旅程,悠然漫步于C++秘境——探索线性表之栈的绮丽定义与精妙实现
  • 10.[前端开发-CSS]Day10-CSS的浮动和flex布局
  • 【LeetCode: 81. 搜索旋转排序数组 II + 二分查找】
  • 汽车中控屏HMI界面,安全和便捷是设计的两大准则。
  • 调音基础学习
  • 【LLM-agent】(task3)数据库对话Agent和RAG接入Agent
  • 【数据结构-前缀树】力扣208. 实现 Trie (前缀树)