tr 替换或删除字符

1.命令功能

tr 从标准输入中替换,压缩间隔或者删除字符并从定向到标准输出。

2.语法格式

tr  option  SET1  SET2


参数


参数说明


-c


取代所有SET1中字符串


-d


删除所有SET1中的字符串,不做替换


-s


把连续重复的字符串以单独一个字符表示


-t


先删除第SET1字符串较SET2字符串多出的字符

说明:

SET1:指定要转换或删除原字符集,当执行转换时,必须使用参数SET2中指定的目标字符串;但执行删除操作时,不需要SET2。

SET2:指定要转换成目标字符串。

3.使用范例

范例1 将输入的字符由大写转换成小写

[[email protected] ~]# echo "HELLO WELCOME TO LINUX"

HELLO WELCOME TO LINUX

[[email protected] ~]# echo "HELLO WELCOME TO LINUX" |tr ‘A-Z‘ ‘a-z‘   #大写转换成小写

hello welcome to linux

‘A-Z‘和‘a-z‘都是集合,集合可以自己制定。例如‘a-z0-9’都是集合。

范例2 删除字符串

[[email protected] ~]# echo ‘hello 123456 welcome 586 to linux‘ |tr -d ‘1-9‘

hello  welcome  to linux

[[email protected] ~]# echo ‘hello 123456 welcome 586 to linux‘ |tr -d ‘a-z‘

 123456  586 

范例4 把替换后的内容追加到新的文本中

[[email protected] ~]# echo "HELLO WELCOME TO LINUX" |tr ‘A-Z‘ ‘a-z‘ < test.txt

-bash: test.txt: 没有那个文件或目录

[[email protected] ~]# touch test.txt

[[email protected] ~]# echo "HELLO WELCOME TO LINUX" |tr ‘A-Z‘ ‘a-z‘ > test.txt

[[email protected] ~]# cat test.txt

hello welcome to linux

[[email protected] ~]# echo ‘hello 123456 welcome 586 to linux‘ |tr -d ‘a-z‘ >> test.txt

[[email protected] ~]# cat test.txt

hello welcome to linux

 123456  586 

范例3 压缩重复字符,每个字符只出现一次

[[email protected] ~]# echo "helllllo welcomeeeee to linuxxxxxx"  |tr -s ‘lex‘

helo welcome to linux

tr 可以使用的字符类集合

[:alnum:]:字母和数字

[:alpha:]:字母

[:cntr1:]:控制(非打印)字符

[:digit:]:数字

[:graph:]:图形字符

[:lower:]:小写字母

[:print:]:可打印字符

[:punct:]:标点符号

[:space:]:空白字符

[:upper:]:大写字母

[:xdigit:]:十六进制字符

使用语法:

tr ‘[:lower:]’‘[:upper:]’

原文地址:https://www.cnblogs.com/joechu/p/8947825.html

时间: 2024-10-14 00:14:51

tr 替换或删除字符的相关文章

tr转换或删除字符

字符处理命令:tr —— 转换或删除字符 逐个字符处理而不是处理单词的tr [OPTION]... SET1 [SET2]    -d: 删除出现在字符集中的所有字符 tr ab AB

tr 替换删除字符

1.关于tr    通过使用 tr,您可以非常容易地实现 sed 的许多最基本功能.您可以将 tr 看作为 sed 的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符.您也可以用它来除去重复字符.这就是所有 tr 所能够做的. tr用来从标准输入中通过替换或删除操作进行字符转换.tr主要用于删除文件中控制字符或进行字符转换.使用tr时要转换两个字符串:字符串1用于查询, 字符串2用于处理各种转换.tr刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开

复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符及在vim中设置tab缩进为4个字符

1.复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符 在命令模式下,使用正则表达式匹配 行首有空白字符行的模式:^[[:space:]]*\([^[:space:]]*\),输出命令 %s#^[[:space:]]*\([^[:space:]]*\)#\1#g1 2.vim中设置tab缩进为4个字符 vim .vimrc 输入 set tabstop=4 原文地址:https://www.cnblogs.com/mwd-123/p/

jQuery插入,复制、替换和删除节点

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>jQuer

C++中对字符串进行插入、替换、删除操作

#include <iostream> #include <string> using std::cout; using std::endl; using std::string; int main(void){ string str1="We can insert a string"; string str2="a str into "; //在字符串指定位置前面插入指定字符串 cout <<str1.insert(14,str

字符串重组,字符串的插入,替换,删除,拼接

/* <span style="white-space:pre"> </span>1>多个数据拼接成一个字符串 2>字符串的末尾追加新的字符 3>在指定的范围插入字符串 4>使用新的字符替换原有的字符 5>在字符串中删除特定的某些字符 6>去掉字符串中的空格 */ #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) {

tr替换

tr替换:tr 替换字符:被替换的字符与替换的字符数必须是相等的用法:tr 旧字符 新字符 cat > a.txt <<EOFroot:1:0:binbin:2:200:bashjim:10:300:bashtom:102:10:bashbin:2:200:bashEOF cat a.txt | tr 20 89 将cat a.txt中的结果中的20替换成89root:1:9:binbin:8:899:bashjim:19:399:bashtom:198:19:bashbin:8:899

C++(十)— 字符串进行插入、替换、删除操作

 1.C++中对字符串进行插入.替换.删除操作 #include<iostream> #include<algorithm> #include<stdio.h> #include <vector> #include<string> using namespace std; int main() { string s = "123456"; // 在字符串指定位置前插入字符, cout << s.insert(2,

Notepad++正则表达式查找替换文本中文字符

测试需求 测试工具中xml配置文件中注释字段包含中文字符,在Win10系统下使用工具中偶尔会出现中文乱码导致配置文件失效.解决方法将配置文件中的中文注释换成英文注释或者直接替换删除.如何将配置文件中的中文字符查找删除? 操作步骤 在Notepad文本工具中使用正则表达式匹配中文字符并替换.当然你可以采用Python写个小工具也无不可.Notepad中使用正则表达式[^\x00-\xff]匹配中文字符. 1.构造包含中文文本用于测试,包含中文字符.普通字符和特殊字符. 2.中文字符正则表达式匹配: