shell学习之tr命令

tr命令不接受指定的文件参数,而只是对标准输入进行翻译, tr是translate的简写,亦即翻译,需要注意的是,它不能翻译句子,只能翻译单个字符。

首先,定义变量:

    [[email protected]]#A=1,,2,,,3,,,4,,,5

下面以示例对该命令以及其常用选项进行介绍。

示例:

1.  无选项设置情况

    [[email protected]]# echo $A | tr  ‘,‘ ‘ ‘    
    1 2   3   4   5
    [[email protected]]# echo $A | tr [2-4] [b-d]
    1,,b,,,c,,,d,,,5
    [[email protected]]# echo $A | tr "23""bc"
    1,,b,,,c,,,4,,,5

注意,这里不是对字符串的替换,而是将“2”替换为“b”,“3”替换为“c”。

常用:小写 --> 大写

    # tr [a-z] [A-Z]

2.  选项“-s”,删除所有重复出现字符序列,只保留第一个,即将重复出现字符串压缩为一个字符串。

    [[email protected]]#echo $A | tr -s ‘,‘    
    1,2,3,4,5
    [[email protected]]#echo $A | tr -s ‘,‘ ‘ ‘
    12 3 4 5

3.  选项“-d”,删除字符串指定的所有输入字符。

    [[email protected]]#echo $A | tr -d "23"    
    1,,,,,,,,4,,,5
    [[email protected]]#echo $A | tr -d  ‘,‘
    12345

常用:删除Windows文件中的‘^M‘字符

    # tr -d"/r"

4.  选项“-c”,对字符串中字符集的补集做替换,要求字符集为A S C I I。

    [[email protected]]# echo $A | tr -c  [1-5] ‘%’    
    1%%2%%%3%%%4%%%5

shell学习之tr命令,布布扣,bubuko.com

时间: 2024-12-25 15:36:32

shell学习之tr命令的相关文章

第四章 shell学习之sed命令和awk编程

sed命令 sed只是对缓冲区中原始文件的副本进行编辑,不改变源文件,所以要保存则要重定向到另一个文件 sed三种方式: 1.sed [选项] 'sed命令' 输入文件 2.sed [选项] -f sed脚本文件 输入文件 3../sed脚本文件 输入文件 其中3的sed脚本文件要以#! bin/sed -f等开头 选项: -n 不打印所有行到标准输出,默认先打印匹配的再打印所有 -e 关联多个sed命令 -f 调用sed脚本文件 定位文本: x x为指定行号 x,y 从x到y行 /patter

shell脚本之tr命令使用

tr命令用来进行对标准输入的内容做替换.例如 # echo 'HELLO WORLD!!!' | tr "A-Z" "a-z" hello world!!! 这里的"A-Z"."a-z"都表示集合,shell脚本中定义集合类型很简单,即指定集合序列即可,但是对于上边的情形,不得非输入所有集合类型,可以通过“开始字符-结束字符”方式进行集合定义.使用tr命令结合集合使用,可以解决很多复杂问题. 使用tr进行数据加密,解密: #

通过案例学习重定向.tr命令

1.将日历重定向指定文件中 解释:当一个大于号的时候会覆盖重定向的文件,因此在工作中要注意此操作,(set -C),可以防止文件被覆盖 ,两个大于号表示追加,不会使目的文件里的内容覆盖.在大于号前面其实是省略了一个数字1,表示标准正确输出,数字2表示 标准错误输出,这里没有演示,有兴趣的同学可以实验. 2.理解>filename 2>&1 解释:ls /boot /err 这条命令是显示目录/boot和/err里的内容,由于/err这目录不存在,所以会显示错误提示,这里也就可以达到既显

[Shell学习笔记] read命令从键盘或文件中获取标准输入(转载)

转自:http://www.1987.name/151.html read命令是用于从终端或者文件中读取输入的内部命令,read命令读取整行输入,每行末尾的换行符不被读入.在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY.下面的列表给出了read命令的常用方式: read 1987name 从标准输入读取输入并赋值给变量1987name. read first last 从标准输入读取输入到第一个空格或者回车,将输入的第一个单词放到变量first中,并将该行其

第八章 shell学习之循环和结构化命令

for循环 1. 列表for循环 for variable in {list}  #有些像C++/CLR中的for each do ... done 如: 1. [[email protected] tmp]# cat b.sh #! /bin/bash for i in 1 2 3 4 5      #1 2 3 4 5等价于{1..5} do echo $i done [[email protected] tmp]# ./b.sh 1 2 3 4 5 2. [[email protected

shell学习之查找当前目录下文件以及文件夹大小-'du'命令和'df'命令

经过前几天的磁盘写满的事件之后,发现自己对du这个命令完全不知道,所以下决心要学习一番. 我就当一盘搬运工吧,外网找到一个教程 'du'就是查找文件夹的大小 du Typing the above at the prompt gives you a list of directories that exist in the current directory along with their sizes. The last line of the output gives you the tot

Linux学习笔记——bash命令及shell变量简介

bash 及其特性 shell  外壳 GUI :Gnome  KDE  xface CLI :shell  csh  ksh  bash 程序,进程 进程:每个进程看来,当前主机上只存在内核和当前进程 进程是程序的副本,进程是程序执行实例 用户的工作环境: bash: #   root用户 $   普通用户 shell  ,子shell bash : 1.命令历史 2.管道,重定向 3.命令行编辑 4.命令别名 5.命令行展开 6.文件名通配 7.变量 8.编程 命令行使用技巧: Ctrl +

【Shell脚本学习9】Shell替换:Shell变量替换,命令替换,转义字符

如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. 举个例子: #!/bin/bash a=10 echo -e "Value of a is $a \n" 运行结果: Value of a is 10 这里 -e 表示对转义字符进行替换.如果不使用 -e 选项,将会原样输出: Value of a is 10\n 下面的转义字符都可以用在 echo 中: 转义字符 含义 \\ 反斜杠 \a 警报,响铃 \b 退格(删除键)

shell学习三十六天----命令替换

命令替换 命令替换是指shell可以先执行命令,将输出结果暂时保存,在适当的地方输出. 命令替换的语法: `command` 注意这是反引号,而不是单引号,这个键位于ESC键的下方. 案例; #!/bin/bash DATE=`date` echo "Date is $DATE" USERS=`who | wc -l` echo "Logged in user are $USERS" UP=`date ; uptime` echo "Uptime is $