linux shell 脚本中 如何处理带空格的超长目录名? 如下:

linux shell 脚本中 如何处理带空格的超长目录名? 如下:,第1张

#/bin/bash

OLDIFS=$IFS

IFS=$'\n'

myhome=`pwd`

for str in `find . -type d `

do

cd $myhome

if [ `expr index "$str" "#"` -eq 0 ]

then

echo "process $str"

cd "$str"

fi

done

IFS=$OLDIFS

先建脚本:clearspace.sh

给脚本添加执行权限 chmod +x clearspace.sh   

编辑脚本内容:

     

       touch tmpFile   # 建临时文件

      sed 's/\ //g' $1 >temFile  #sed s命令 将空格替换 重定向到临时文件

      cat temFile >$1  #覆盖原文件

      rm -f temFile   #删除临时文件

      echo 'OK,DONE!'

     

执行脚本 ./clearspace.sh souceFile

实例:

执行前:

查看原文件:cat source.txt

sfd as as da la as las j8

890asfd f22

2 23rf a 23rfa

asdf9293 22 sdf

234 23r4 sdk

, . '  ds

sadf wow

sa s  sd

执行

./clearspace.sh source.txt

OK,DONE!

执行之后查看结果:cat source.txt

sfdasasdalaaslasj8

890asfdf22

223rfa23rfa

asdf929322sdf

23423r4sdk

,.'ds

sadfwow

sassd


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7283350.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存