用于删除尾随空格的Bash / Shell脚本

时间:2016-12-14 17:57:23

标签: linux bash shell

我想编写一个可以在终端上运行的(简单)程序,其工作方式如下:

它需要输入:一个或多个文件名(例如MyProgram.java)

它会删除文本文件中的每个尾随空格。

如何使用终端程序(类似这样):

  

/home/username/bin/script.sh MyProgram.java

我试图在Google上寻求帮助,但我找不到任何帮助我的东西。

我正在使用Gedit。我知道Gedit已经有了这样的插件,但是我正在尝试学习shell脚本,并且拖尾的空白区域让我烦恼。

1 个答案:

答案 0 :(得分:0)

我可能会使用sed

#!/bin/bash

sed -e 's/ *$//' -i.old "$@"

-e表示下一个参数是要运行的脚本。

s/ *$//就是那个脚本。这意味着,对于每一行,替换行末(/ *$/)的所有空格(//)。

-i.old表示在适当位置编辑文件,并将原件移至名为<same_name_as_before>.old的文件。

"$@"查询此shell脚本的参数,并将其保持不变地传递给sed进程。