我想编写一个可以在终端上运行的(简单)程序,其工作方式如下:
它需要输入:一个或多个文件名(例如MyProgram.java)
它会删除文本文件中的每个尾随空格。
如何使用终端程序(类似这样):
/home/username/bin/script.sh MyProgram.java
我试图在Google上寻求帮助,但我找不到任何帮助我的东西。
我正在使用Gedit。我知道Gedit已经有了这样的插件,但是我正在尝试学习shell脚本,并且拖尾的空白区域让我烦恼。
答案 0 :(得分:0)
我可能会使用sed
。
#!/bin/bash
sed -e 's/ *$//' -i.old "$@"
-e
表示下一个参数是要运行的脚本。
s/ *$//
就是那个脚本。这意味着,对于每一行,替换行末(/ *$/
)的所有空格(//
)。
-i.old
表示在适当位置编辑文件,并将原件移至名为<same_name_as_before>.old
的文件。
"$@"
查询此shell脚本的参数,并将其保持不变地传递给sed
进程。