Chinaunix首页 | 论坛 | 博客

  • 博客访问: 916262
  • 博文数量: 226
  • 博客积分: 10077
  • 博客等级: 上将
  • 技术积分: 2708
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-25 14:36
文章分类

全部博文(226)

文章存档

2010年(15)

2009年(82)

2008年(129)

我的朋友

分类: LINUX

2008-07-22 14:39:47

作者:作者
来自:无名

sed 's/[ ][ ]*/ /g'

如果空格与tab共存时用
sed -e 's/[[:space:]][[:space:]]*/ /g' filename


替换文档名中的空格
newfile=${oldfile// /_}

  用 tr :

  find . -type f -name "* *" -print |

  while read name; do

  na=$(echo $name | tr ' ' '_')

  if [[ $name != $na ]]; then

  mv "$name" $na

  fi

  done

  修改 IFS

  #!/bin/sh

  IFS=@ read name address

  echo "A mail to $name at $address"

  read subject

  echo "Subject: $subject"

  or

  #!/bin/sh

  IFS=:

  for p in $PATH

  do

  if [ -x $p/$1 ]

  then

  echo $p/$1

  return

  fi

  done

  echo "No $1 in your path" 1 > &2

  return 1

  or

  ( IFS=: ; for D in $PATH; do for F in $D/*gif*; do [ -x $F ] && echo $F; done; done )

今天做了一个Shell程序,结果传递过来的文件名有些有空格,导致不能执行,找不到原文件,急于解决先把文件名的空格都用下划线都给替换掉,其实应该可以从程序上解决的,继续看有什么方法

以下是在网上找的替换空格文件的脚本

用 tr :

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

 

if [[ $name != $na ]]; then
mv "$name" $na
fi
done



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