Chinaunix首页 | 论坛 | 博客
  • 博客访问: 367098
  • 博文数量: 83
  • 博客积分: 5322
  • 博客等级: 中校
  • 技术积分: 1057
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-11 11:27
个人简介

爱生活,爱阅读

文章分类

全部博文(83)

文章存档

2015年(1)

2013年(1)

2012年(80)

2011年(1)

分类: LINUX

2012-02-22 16:27:01

内容:
    1、建立带空格文件
    2、删除文件名中空格

一、
建立带空格文件:
  1. [admin@localhost empty]$ mkdir "aaa bbb . ccc __  ddd " "mm nn ll oo"
  2. [admin@localhost empty]$ touch "cc .t x t .b a   k" "uu.l _  .c um "
  3. [admin@localhost empty]$ ll
  4. total 12
  5. drwxrwxr-x 2 admin admin 4096 2012-02-22 16:30 aaa bbb . ccc __  ddd 
  6. -rw-rw-r-- 1 admin admin    0 2012-02-22 16:30 cc .t x t .b a   k
  7. drwxrwxr-x 2 admin admin 4096 2012-02-22 16:30 mm nn ll oo
  8. -rw-rw-r-- 1 admin admin    0 2012-02-22 16:30 uu.l _  .c um 
  9. [admin@localhost empty]$ 
二、
脚本文件:

  1. [admin@localhost empty]$ touch delblank.sh 
  2. -rw-rw-r-- 1 admin admin    0 2012-02-22 16:30 uu.l _  .c um 
  3. [admin@localhost empty]$ cat delblank.sh 
  4. #for loop in `ls -Al`
  5. #echo `ls -Al | awk '{print $0}'`
  6. #`ls -A` | while read loop ;do tmp=`echo $loop | sed 's/ //g'`;mv "$loop" "$tmp";done
  7. #for loop in `ls -A`

  8. for loop in *
  9. do
  10.         #tmp=`echo $loop | sed 's/ //g'`
  11.         #tmp=`echo $loop | tr -d " "`
  12.         tmp=`echo ${loop// /}`

  13.         if [ "$loop" != "$tmp" ]
  14.         then
  15.         mv "$loop" "$tmp"
  16.         else
  17.                 :
  18.                 #echo "$loop has no blank"
  19.         fi
  20. done
  21. [admin@localhost empty]$ 
更改权限:

  1. [admin@localhost zushell]$ chmod u+x  delblank.sh
    [admin@localhost empty]$ ll delblank.sh
    -rwxrwxr-x 1 admin admin 417 2012-02-22 16:28 delblank.sh
    [admin@localhost empty]$ 
执行删除空格操作:


  1. [admin@localhost empty]$ ./delblank.sh 
  2. [admin@localhost empty]$ ll
  3. total 12
  4. drwxrwxr-x 2 admin admin 4096 2012-02-22 16:30 aaabbb.ccc__ddd
  5. -rw-rw-r-- 1 admin admin    0 2012-02-22 16:30 cc.txt.bak
  6. -rwxrwxr-x 1 admin admin  417 2012-02-22 16:28 delblank.sh
  7. drwxrwxr-x 2 admin admin 4096 2012-02-22 16:30 mmnnlloo
  8. -rw-rw-r-- 1 admin admin    0 2012-02-22 16:30 uu.l_.cum
  9. [admin@localhost empty]$ 
    另外,本来在shell下通过ls | grep " " |while read line ;do tmp=`echo $line | sed 's/ //g'`;mv "$line" "$tmp";done进行删除,但总是出现如下错误: 

[admin@localhost aa]$ mkdir " aa ss"
[admin@localhost aa]$ ll
total 4
drwxrwxr-x 2 admin admin 4096 2012-02-22 16:39  aa ss
[admin@localhost aa]$ ls | grep " " |while read line ;do tmp=`echo $line | sed 's/ //g'`;mv "$line" "$tmp";done
mv: cannot stat `\033[00m\033[01;34m aa ss\033[00m': No such file or directory
[admin@localhost aa]$ 

刚刚接触shell几天时间,现在还不知道如何解决。各位高手知道的话请提供下。





阅读(1563) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~