#!/usr/bin/perl while(<>){ tr/abc/123/; print ; } 或 #!/usr/bin/perl while(<>){ $_=~tr/abc/123/; print $a; } 或 #!/usr/bin/perl while(<>){ tr/abc/123/; $a=$_; print $a; } 如此3个都是将对我的输入做替换 但是下面的方式就不行了 #!/usr/bin/perl while(<>){ $a=$_=~tr/abc/123/; print $a; } 这样却使$a变成了匹配的次数.很奇怪的哦~ 为什么呢?
by very_99 - Perl - 2006-04-28 13:35:59 阅读(1911) 回复(3)
本人有两台机器:SunOS 在一台上使用:echo AddsSSS|tr "[]" "[]" 报如下错误 Bad string 另一台没有问题。请教高手是啥原因引起的。(我把好的那台机器上的tr命令ftp过来也不行,不过root用户是可以的,其它用户不行)
我的系统是sco5.05,为什么用tr命令无法将文件中的大写字母转为小写字母呢? 例: tr 'A-Z' 'a-z' < filename 或 tr "A-Z" "a-z" < filename 如果指定要转化的字母就好用,这是为什么呢? 例: tr 'L' 'l' < filename
我的系统是sco5.05,为什么用tr命令无法将文件中的大写字母转为小写字母呢? 例: tr 'A-Z' 'a-z' < filename 或 tr "A-Z" "a-z" < filename 如果指定要转化的字母就好用,这是为什么呢? 例: tr 'L' 'l' < filename
[root@test ~]# cat test abcde [root@test ~]# tr "abced" "ggg" < test ggggg 原意是把字符串“abcde”替换成字符串"ggg",可结果怎么会是这样?
test 文本: M.Tanleyyyya 05/99 48311 Green 8 40 44 J.Lulu 06/99 48317 green 9 24 26 P.Bunny 02/99 48 Yellow 12 35 28 J.troll 07/99 4842 Brown-3 12 26 26 L.Tansleyyy 05/99 4712 Brown-2 12 30 28 现在我想凡是出现四个y的地方都替换成四个*,其他地方保持...
tr -cs "[a-z][A-Z]" "[\012*]" 这一行指令今天晚上琢磨一晚上了,找资料也没找到我要的资料!我想知道: 1。这行指令-c这个选项,是怎么保留字母去掉其它字符的? 2。其它字符是怎么删除的?