The*_*nix 8 bash text-processing
如何仅从如下一行中删除第一个空格而不删除同一行中的其他空格?
示例输入:
2015-04-18 10:21:59 10 05430 -9999 -9999 000000000000
Run Code Online (Sandbox Code Playgroud)
示例输出:
2015-04-1810:21:59 10 05430 -9999 -9999 000000000000
Run Code Online (Sandbox Code Playgroud)
Kus*_*nda 21
您可以sed为此使用:
sed 's/ //' infile >outfile
Run Code Online (Sandbox Code Playgroud)
这将替换文件的所有行infile,将第一个空格字符替换为空字符(即删除它)。输出存储在文件中outfile。使用sed 's/ //N',其中N是 1 到 9 之间的整数,您可以选择要删除的空间。
如果该行在 shell 变量中,则可以使用
var="${var/ /}"
Run Code Online (Sandbox Code Playgroud)
这使用${parameter/pattern/string}参数扩展 inbash来做与sed命令相同的事情,但在$var. 在此示例中,生成的字符串然后存储回$var.