linux 命令 — tr
tr
对stdin字符进行替换、删除和压缩,基本形式
tr [options] set1 set2
将输入的字符串中的set1字符转换为set2中对应位置的字符
set1、set2表示字符集,如果set1字符集长度大于set2,set2使用自身最后一个字符填充补齐,如果set2长度大于set1,set2超出的部分全部被忽略
转换大小写
echo "HELLO" | tr 'A-Z' 'a-z'
将大写字母转换为小写字母
cat sum.txt | echo $[ $(tr '\n' '+' ) 0 ]
sum.txt中每一行包含一个数字,求出所有行的和,$[]用来执行算术运算,$()和``(反引号)一样,里面的内容会被拿出来当做命令执行,执行的结果取代该位置
转码
echo 12345 | tr '0-9' '987654321'
将0转换为9,1转换为8...
删除字符
echo "hello 123" | tr -d '0-9'
删除输入中的数字
字符集补集
echo "hello 123" | tr -d -c '0-9'
删除输入中除数字外的其他字符,也就是只保留数字字符,-c set表示set对于输入字符集合的补集
压缩字符
echo "hello world, goodl luck!" | tr -s ' '
-s压缩连续相同的字符,也就是删除连续相同的字符只剩一个
tr可以像使用集合一样使用各种不同的字符类
字符类:
- alnum:字母和数字
- alpha:字母
- cntrl:控制字符(非打印字符)
- digit:数字
- graph:图形字符
- lower:小写字母
- upper:大写字母
- print:可打印字符
- punct:标点符号
- space:空白字符
- xdigit:十六进制字符
基本形式:
tr [:class:] [:class:class]
例如:
echo "hello" | tr [:lower:] [:upper:]
linux 命令 — tr的更多相关文章
- Linux命令-tr
tr命令用于转换文本文件中的字符 [root@localhost test]# cat .txt abcdefg asdfoui asdfqer [root@localhost test]# cat ...
- Linux shell tr 命令详解
该随笔摘自 https://www.jb51.net/article/103892.htm Linux shell tr 命令详解 1. 用途 tr,translate的简写,主要用于压缩重复字符,删 ...
- Linux命令随笔
Linux命令总结 man ==命令帮助; help ==命令的帮助(bash的内置命令); ls ==list,查看目录列表; -ld:查看目录权限; -l:(long)长格式显示属性; -F:给不 ...
- 第2章 新手必须掌握的Linux命令
第2章 新手必须掌握的Linux命令 章节简述: 本章节讲述系统内核.Bash解释器的关系与作用,教给读者如何正确的执行Linux命令以及常见排错方法. 经验丰富的运维人员可以恰当的组合命令与参数 ...
- Linux命令整理中...
Linux命令整理中... 最常用命令(我最近最常用的一般放在前面tipsbychsry) clear 清屏 date 显示日期 cal 显示日历 cal 2014 显示2014年的日历 shutdo ...
- Linux 命令小记
1. pidof 进程名 :获取进程的pid,例如 pidof memcached 得到5333 2. unset Shell变量 :取消设置一个shell变量,从内存和shell的导出环境中删除它, ...
- [Android ] linux命令英文缩写的含义(方便记忆)
du -sh */ reference to : http://blog.chinaunix.net/uid-27164517-id-3299073.html linux常用命令的英文单词缩写 命令缩 ...
- 工作中常用的Linux命令:目录
工作两三年,每天都和Linux打交道,但每每使用Linux命令的时候却会像提笔忘字般不知如何使用,常常查手册或到网上找资料.此系列文章主要是为了方便自己在使用命令时随时可查阅.鄙人才疏学浅,文中若有任 ...
- 运维工程师必会的109个Linux命令
运维工程师必会的109个Linux命令 版本1.0 崔存新 更新于2009-12-26 目录 1 文件管理 6 1.1 basename 6 1.2 cat 6 1.3 cd 7 1.4 chgrp ...
随机推荐
- linux密码特殊字符识别
当密码是! @ # 等特殊字符, 用“\” 转译字符:比如密码为123!@#,我们在可以写123\!\@\#
- 浅谈JS面向对象
浅谈JS面向对象 一 .什么是面向过程 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了.注重代码的过程部分. 二.什么是面向对象 最先出现在管理学 ...
- Django模板标签
一.模板标签 1.模板标签是在模板中运用python语言的实现,如for循环,if语句 2.模板标签的运用 2.1在teacher模板下创建students_list模板, 在teacher视图中国创 ...
- 2019.03.28 bzoj3595: [Scoi2014]方伯伯的Oj(splay+map+set)
传送门 题意简述: 给一个有优先级的nnn个人的序列,初始的时候第iii个人排名为iii,现在有mmm个操作,种类如下: 把编号为xxx的改成yyy,输出改前xxx的排名 把编号为xxx放到队首,输出 ...
- 对excel文件的读取
poi上传文件,准备 <dependencies><dependency> <groupId>org.apache.poi</groupId> < ...
- go 闭包
看程序 package main import "fmt" func main() { f:=test2() fmt.Println(f()) fmt.Println(f()) } ...
- ABAP 图形练习(GFW_PRES_SHOW and GRAPH_2D)
创建屏幕0100(元素清单中含定制控制CONTAINER和OK_CODE) 创建GUI状态100(功能键含BACK和EXIT用于返回和退出 ) 代码 *&------------------- ...
- MySQL数据库(二)-数据库的增删改查
简介: 以下是MySQL最基本的增删改查语句.在进行“增删改查”的操作之前,先建立一个包含数据表student的数据库,新建表grade(具体操作可以见上一篇). 一."增"-添加数据 1.1 为表中 ...
- Redis和memcached缓存技术
缓存的定义:缓存就是在内存中存储的数据备份,当数据没有发生本质变化的时候,我们避免数据的查询操作直接连接数据库,而是去 内容中读取数据,这样就大大降低了数据库的读写次数,而且从内存中读数据的速度 ...
- Exp6 信息搜集与漏洞扫描——20164325王晓蕊
1.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 2.实践内容 2.1 各种搜索技巧的应用 2.1.1 Netcraft查询 Netcraft这个网站可以查询到特定网站的IP地址,以wei ...