Linux tr命令用于转换或删除文件中的字符。

tr指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。

tr命令常用来替换,删除来自标准输入字符串中的字符。注意,操作的单位是字符,不是字符串。也就是说,不管是替换还是删除,都是针对字符串中某个字符的。比如tr命令不能很方便地实现字符串替换:把“Hello World”变成“Hello Beijing”,但是可以很方便地把每一个大写字符变成小写字符,echo “Hello World” | tr ‘[A-Z]’ ‘[a-z]’, 最后输出“hello world”。

语法

tr [-cdst][--help][--version][第一字符集][第二字符集]

tr [OPTION]…SET1[SET2]

参数说明:

-c, –complement:反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换

-d, –delete:删除指令字符

-s, –squeeze-repeats:缩减连续重复的字符成指定的单个字符

-t, –truncate-set1:削减 SET1 指定范围,使之与 SET2 设定长度相等

–help:显示程序用法信息

–version:显示程序本身的版本信息

字符集合的范围:

\NNN 八进制值的字符 NNN (1 to 3 为八进制值的字符)

\\ 反斜杠

\a Ctrl-G 铃声

\b Ctrl-H 退格符

\f Ctrl-L 走行换页

\n Ctrl-J 新行

\r Ctrl-M 回车

\t Ctrl-I tab键

\v Ctrl-X 水平制表符

CHAR1-CHAR2 :字符范围从 CHAR1 到 CHAR2 的指定,范围的指定以 ASCII 码的次序为基础,只能由小到大,不能由大到小。

[CHAR*] :这是 SET2 专用的设定,功能是重复指定的字符到与 SET1 相同长度为止

[CHAR*REPEAT] :这也是 SET2 专用的设定,功能是重复指定的字符到设定的 REPEAT 次数为止(REPEAT 的数字采 8 进位制计算,以 0 为开始)

[:alnum:] :所有字母字符与数字

[:alpha:] :所有字母字符

[:blank:] :所有水平空格

[:cntrl:] :所有控制字符

[:digit:] :所有数字

[:graph:] :所有可打印的字符(不包含空格符)

[:lower:] :所有小写字母

[:print:] :所有可打印的字符(包含空格符)

[:punct:] :所有标点字符

[:space:] :所有水平与垂直空格符

[:upper:] :所有大写字母

[:xdigit:] :所有 16 进位制的数字

[=CHAR=] :所有符合指定的字符(等号里的 CHAR,代表你可自订的字符)

实例

将文件testfile中的小写字母全部转换成大写字母,此时,可使用如下命令:

cat testfile |tr a-z A-Z

testfile文件中的内容如下:

$ cat testfile #testfile原来的内容

Linux networks are becoming more and more common,

but scurity is often an overlooked

issue. Unfortunately, in today’s environment all networks

are potential hacker targets,

fro0m tp-secret military research networks to small home LANs.

Linux Network Securty focuses on securing Linux in a

networked environment, where the

security of the entire network needs to be considered

rather than just isolated machines.

It uses a mix of theory and practicl techniques to

teach administrators how to install and

use security applications, as well as how the

applcations work and why they are necesary.

使用 tr 命令大小写转换后,得到如下输出结果:

$ cat testfile | tr a-z A-Z #转换后的输出

LINUX NETWORKS ARE BECOMING MORE AND MORE COMMON, BUT SCURITY IS OFTEN AN OVERLOOKED

ISSUE. UNFORTUNATELY, IN TODAY’S ENVIRONMENT ALL NETWORKS ARE POTENTIAL HACKER TARGETS,

FROM TP-SECRET MILITARY RESEARCH NETWORKS TO SMALL HOME LANS.

LINUX NETWORK SECURTY FOCUSES ON SECURING LINUX IN A NETWORKED ENVIRONMENT, WHERE THE

SECURITY OF THE ENTIRE NETWORK NEEDS TO BE CONSIDERED RATHER THAN JUST ISOLATED MACHINES.

IT USES A MIX OF THEORY AND PRACTICL TECHNIQUES TO TEACH ADMINISTRATORS HOW TO INSTALL AND

USE SECURITY APPLICATIONS, AS WELL AS HOW THE APPLCATIONS WORK AND WHY THEY ARE NECESARY.

大小写转换,也可以通过[:lower][:upper]参数来实现。例如使用如下命令:

cat testfile |tr [:lower:] [:upper:]

输出结果如下:

$ cat testfile | tr [:lower:] [:upper:] #转换后的输出

LINUX NETWORKS ARE BECOMING MORE AND MORE COMMON, BUT SCURITY IS OFTEN AN OVERLOOKED

ISSUE. UNFORTUNATELY, IN TODAY’S ENVIRONMENT ALL NETWORKS ARE POTENTIAL HACKER TARGETS,

FROM TP-SECRET MILITARY RESEARCH NETWORKS TO SMALL HOME LANS.

LINUX NETWORK SECURTY FOCUSES ON SECURING LINUX IN A NETWORKED ENVIRONMENT, WHERE THE

SECURITY OF THE ENTIRE NETWORK NEEDS TO BE CONSIDERED RATHER THAN JUST ISOLATED MACHINES.

IT USES A MIX OF THEORY AND PRACTICL TECHNIQUES TO TEACH ADMINISTRATORS HOW TO INSTALL AND

USE SECURITY APPLICATIONS, AS WELL AS HOW THE APPLCATIONS WORK AND WHY THEY ARE NECESARY.

删除Windows文件“造成”的’^M’字符

cat $file_name | tr -d "\r"

删除连续的字符

echo "hhhhhh" | tr -s [:alnum:]

linux tra 网络,linux命令之tr命令用法总结相关推荐

  1. Linux下的字符处理命令之tr命令详解

    1.什么是tr命令: tr是translate的简写,通过这个单词,你大概也能猜到它是干什么的了吧!没错,它可以用一个字符串来替换另一个字符串,或者可以完全除去一些字符.您也可以用它来除去重复字符. ...

  2. Linux网络协议:当eBPF遇上Linux内核网络 | Linux内核之旅

    <直播预告 | 当eBPF遇见Linux内核网络> 哔哩哔哩:https://www.bilibili.com/video/BV1ch411U75f?from=search&sei ...

  3. linux htop 网络,linux网络命令之top、htop

    一.top命令 1.简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不断刷新 ...

  4. linux eap网络,linux – 如何使用WPA2-Enterprise MSCHAPv2 EAP-PEAP(用户名/密码)的网络安装Debian?...

    我目前正在尝试在笔记本电脑上安装Debian,由于固件不兼容,我使用的是non-free netinstaller which can be found here.我把它放到USB(不是分区)上并启动 ...

  5. linux 国外网络,Linux下,使用speedtest测试网络的上/下行速率

    简介 speedtest是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行.它基于Speedtest.net的基础架构来测量网络的上/下行速率.安装spe ...

  6. linux杀死网络,Linux下kill杀死进程详解

    背景:这个Linux下kill命令总是记不住,在此稍作记录,方便查看! 1 杀死进程 1.1 查看进程 此时如果我想杀了火狐的进程就在终端输入: $ kill -s 9 1827 其中-s 9 制定了 ...

  7. Linux隔离网络,linux – 隔离网络上的单个NTP服务器

    我在隔离网络上有两台 Linux机器(A和B).它们必须是时间同步的.机器A间歇供电,必须服务时间,因为它连接到权威时间源(GPS).机器B仅在机器A通电时供电,但它是嵌入式Linux设备,其电源状态 ...

  8. linux eap网络,linux – 定期无法连接到WPA2-EAP接入点

    我在家里设置了WPA2-EAP TLS WiFi接入点,一切正常.不幸的是,很多时候我会断开与接入点的连接而无法重新连接. (我正在复活这个问题,因为我刚从Ubuntu安装了最新的broadcom-s ...

  9. linux bochs 网络,Linux下Bochs的使用(转载)

    ========================================================== Event type:PANIC Device:[ ] Message:dlope ...

最新文章

  1. PDF怎么转换成Word,PDF转Word的方法
  2. ue4材质节点怎么用_UE4材质教程
  3. openstack 管理三十五 - 利用 SQL 获取 tenant 当前资源情况
  4. C#环境下的钩子详解
  5. C#LeetCode刷题之#682-棒球比赛(Baseball Game)
  6. MySQL 8.0 安装部署3个注意事项
  7. 高考志愿怎么填?BOSS直聘发布了一份填报指南
  8. Visual Assist插件使用的一些相关文章
  9. CentOS7中解决root用户Operation not permitted
  10. 苹果手机的隔空投送怎么使用?
  11. Linux网络嗅探器实验报告,C语言实现 Linux 网络嗅探器
  12. 学生管理系统(VB)——连接数据库
  13. VMWARE虚拟机启动失败,模块“Disk”启动失败
  14. 读庄子-万物齐一和自然无为
  15. spring boot电影院售票与管理系统 毕业设计源码论文+答辩PPT
  16. 拜占庭鲁棒Krum聚合算法
  17. win11 如何将搜狗输入法设置成默认输入法
  18. pool win10提示bad_大师讲解win10蓝屏重启代码BAD,POOL,CALLER修复方法
  19. __attribute__中的constructor和destructor
  20. 秉火429笔记之四启动文件分析

热门文章

  1. 基于java+ssm+mysql的相声购票系统
  2. 量化金融分析师CQF技术储备
  3. C语言: 编写一个程序解鸡兔同笼问题:已知鸡兔总数为a, 鸡兔腿总数为b, 计算出鸡兔各多少只
  4. securityoverridehacking challenge 解题思路汇总——Forensics
  5. JMeter——逻辑控制器、定时器、分布式、测试报告(四)
  6. CentOS命令 - crontab: 任务调度
  7. [转]离职感言-Symbio的5年工作回顾和总结
  8. Qt之渐变及其应用(绘制温度计、仪表盘和指示灯)
  9. 阿斯利康中国东部总部正式启用;星奕昂生物完成4000万美元天使轮融资 | 医药健闻...
  10. 如何在AD中添加3D封装模型库(超详细)