Chinaunix首页 | 论坛 | 博客
  • 博客访问: 66648
  • 博文数量: 16
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 201
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-04 21:22
文章分类

全部博文(16)

文章存档

2011年(1)

2008年(15)

我的朋友

分类:

2008-08-18 14:19:29

find . -name "* *"|
while read name;do
        na=$(echo $name | tr ' ' '_')
        mv "$name" $na
done

tr命令:translation命令,用法:
 tr [OPTION]... SET1 [SET2]
用set2来替换set1,将标准输入的字符串转为标准输出,如:
$tr a b
进入输入模式后,你所输入的所有的字母a都会被翻译成字母b,然后输出到屏幕上
$ tr a b
apple
bpple
aabbcc
bbbbcc

在上面的脚本中,tr ' ' '_',将echo通过管道传入的字符串中所有的空格翻译为下划线,然后赋值给na变量,再使用mv命令,也就完成了替换。
tr命令的其他用法,set1, set2可以使用一些特殊字符来匹配,如:
$ tr [:lower:] [:upper:] //将所有的小写字母翻译为大写
hello
HELLO
what
WHAT
其他特殊字符:
  [:alnum:]
         all letters and digits

  [:alpha:]
         all letters

  [:blank:]
         all horizontal whitespace

  [:cntrl:]
         all control characters

  [:digit:]
         all digits

  [:graph:]
         all printable characters, not including space

     [:lower:]
            all lower case letters

     [:print:]
            all printable characters, including space

     [:punct:]
            all punctuation characters

     [:space:]
            all horizontal or vertical whitespace

     [:upper:]
            all upper case letters

     [:xdigit:]
            all hexadecimal digits

     [=CHAR=]
            all characters which are equivalent to CHAR

阅读(1054) | 评论(0) | 转发(0) |
1

上一篇:zfs snapshot

下一篇:history命令

给主人留下些什么吧!~~