tr命令的问题,从一个命令行得到不同的结果。
时间:2011-07-26
来源:互联网
这个问题是我从Rad Hat Linux用户基础中看到的,觉得很好奇,在网上没有搜索到相关的信息,所以就拿出来到这里请教下。
这个问题是这样的:
ubuntu@ubuntu-desktop:~$echo 'hark, I hear an elephant!' | tr -d [:punct:]
hark I hear an elephant
ubuntu@ubuntu-desktop:~$ touch n
ubuntu@ubuntu-desktop:~$ echo 'hark, I hear an elephant!' | tr -d [:punct:]
hark, I hear a elephat!
ubuntu@ubuntu-desktop:~$ rm n
ubuntu@ubuntu-desktop:~$ echo 'hark, I hear an elephant!' | tr -d [:punct:]
hark I hear an elephant
为什么会出现这样的情况?
这个叫n的文件为什么会起到这样的作用呢?同样的命令行,为什么会得到不同的结果呢?
这个问题是这样的:
ubuntu@ubuntu-desktop:~$echo 'hark, I hear an elephant!' | tr -d [:punct:]
hark I hear an elephant
ubuntu@ubuntu-desktop:~$ touch n
ubuntu@ubuntu-desktop:~$ echo 'hark, I hear an elephant!' | tr -d [:punct:]
hark, I hear a elephat!
ubuntu@ubuntu-desktop:~$ rm n
ubuntu@ubuntu-desktop:~$ echo 'hark, I hear an elephant!' | tr -d [:punct:]
hark I hear an elephant
为什么会出现这样的情况?
这个叫n的文件为什么会起到这样的作用呢?同样的命令行,为什么会得到不同的结果呢?
作者: jhinux 发布时间: 2011-07-26
回复 jhinux
我觉得可能是你-d 选项的值没有加单引号的原因,这样就会照成在替换过程,把n当做一个文件,同理你试试touch “punct”中的任意其他字符试试,你加单引号就没有这个问题了
复制代码
我觉得可能是你-d 选项的值没有加单引号的原因,这样就会照成在替换过程,把n当做一个文件,同理你试试touch “punct”中的任意其他字符试试,你加单引号就没有这个问题了
- [root@wan sh]# echo 'hark, I hear an elephant!' | tr -d [:punct:]
- hark I hear an elephant
- [root@wan sh]# touch c
- [root@wan sh]# echo 'hark, I hear an elephant!' | tr -d [:punct:]
- hark, I hear an elephant!
- [root@wan sh]# echo 'hark, I hear an elephant!' | tr -d '[:punct:]'
- hark I hear an elephant
作者: lionfun 发布时间: 2011-07-26
QUOTE:
回复 jhinux
我觉得可能是你-d 选项的值没有加单引号的原因,这样就会照成在替换过程,把n当做一 ...
lionfun 发表于 2011-07-26 22:18
我觉得可能是你-d 选项的值没有加单引号的原因,这样就会照成在替换过程,把n当做一 ...
lionfun 发表于 2011-07-26 22:18
就是由这个原因引起的……
其实加双引号也是可以的……
作者: xiaopan3322 发布时间: 2011-07-26
回复 xiaopan3322
当然可以的!但是我比较怕得就是soft quote 的元字符替换…… 例如:
复制代码
当然可以的!但是我比较怕得就是soft quote 的元字符替换…… 例如:
- [root@wan sh]# n=Y
- [root@wan sh]# echo 'Yes $n' | tr -d "$n"
- es $n
- [root@wan sh]# echo 'Yes $n' | tr -d '$n'
- Yes
作者: lionfun 发布时间: 2011-07-26
一切tr的作用都可以用sed替代。
作者: zooyo 发布时间: 2011-07-26
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28