shell中如何对去除字符串中的空格
时间: 2023-10-16 20:07:18 浏览: 94
可以使用shell中的内置命令`sed`来删除字符串中的空格。
假设需要去除字符串中的所有空格,可以使用以下命令:
```bash
echo "hello world" | sed 's/ //g'
```
输出结果为:
```
helloworld
```
其中,`s`表示替换,`/ /`表示要替换的字符(空格),`/g`表示全局替换。
如果只需要去除字符串开头和结尾的空格,可以使用以下命令:
```bash
echo " hello world " | sed 's/^[[:space:]]*//;s/[[:space:]]*$//'
```
输出结果为:
```
hello world
```
其中,`^`表示行的开头,`$`表示行的结尾,`[[:space:]]`表示空格符,`*`表示匹配0个或多个空格符,`;`用于分隔多个命令。
相关问题
shell去除字符串中空格
可以使用sed命令去除字符串中的空格,具体命令如下:
```
echo "hello world" | sed 's/ //g'
```
其中,s表示替换操作,/ /表示要替换的空格,/g表示全局替换。执行以上命令后,输出结果为"helloworld",即去除了字符串中的空格。
shell 脚本如何去掉字符串前面的空格
在shell脚本中,可以使用内置命令 `echo` 加上参数 `-n` 和 `-e` 来去掉字符串前面的空格,具体实现如下:
```shell
#!/bin/bash
str=" hello world"
echo -n "$str" | sed 's/^[ \t]*//'
```
上述代码中,首先定义了一个带有前导空格的字符串 `str`,然后使用 `echo` 命令并加上 `-n` 参数来输出这个字符串,再将输出结果通过 `sed` 命令中的正则表达式 `s/^[ \t]*//` 进行处理,即删除字符串前面的所有空格和制表符。最终输出结果为 `hello world`。
阅读全文