linux shell 问题,清除文件中的空格

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux shell 问题,清除文件中的空格相关的知识,希望对你有一定的参考价值。

要求:1、l inux shell 脚本编程实现。 2、去取某个文件中所有的空格,并将结果仍然存到该文件中。3、用户通过脚本参数传递需要操作的文件名。

参考技术A

先建脚本: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 

sfdasasdala;aslasj8

890asfdf22

223rfa23rfa

asdf929322sdf

23423r4sdk;

,.';ds

sadfwow

sassd

追问

非常感谢!

本回答被提问者和网友采纳
参考技术B 使用tr命令也可以

linux shell (点号 空格 文件名)

1、 如果我们要执行某个文件,但是此文件不可执行,此时我们要用chmod u+x file_name来使文件具有可执行权限

2、可是有时我们不想更改此文件的执行权限,但又想执行此文件,可以采用(点号–空格–文件名)的形式来执行一个脚本(只有root用户才可以这么做)

以上是关于linux shell 问题,清除文件中的空格的主要内容,如果未能解决你的问题,请参考以下文章

linux问题解决:Shell中处理包含空格的文件名

linux问题解决:Shell中处理包含空格的文件名

Linux(shell)遍历目录删除指定文件,解决文件夹名称带空格问题

unix下KSH中shell的SED命令怎样把文件中的NULL替换成空格。 (十六进制码00替换成20)

linux shell 中 如何处理空格的路径?

在 Linux 的文本文件中用逗号替换空格