shell 脚本如何去掉字符串前面的若干空格
时间: 2023-07-06 09:35:48 浏览: 157
可以使用shell中的参数扩展来去掉字符串前面的空格。例如,假设我们要去掉变量$str前面的空格,可以使用以下命令:
```
${str#* }
```
其中,`#*`表示匹配字符串中第一个空格及其之前的所有字符,然后将其删除。这样就可以去掉变量$str前面的空格了。
另外,如果要去掉字符串中所有的空格,可以使用以下命令:
```
${str// /}
```
其中,`//`表示替换字符串中的所有匹配项,将空格替换为空字符串。这样就可以去掉字符串中所有的空格了。
相关问题
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`。
shell脚本,如何使用sed或者awk去掉字符串前面的若干空格,只保留后面的字符串
可以使用sed或awk来去掉字符串前面的若干个空格,只保留后面的字符串。假设我们要去掉变量$str前面的空格,只保留后面的字符串,可以使用以下命令:
使用sed命令:
```
echo "$str" | sed 's/^[[:blank:]]*//'
```
其中,`^[[:blank:]]*`表示匹配字符串中开头的所有空格,然后将其删除。
使用awk命令:
```
echo "$str" | awk '{$1=""; print $0}' | sed 's/^[[:blank:]]*//'
```
其中,`$1`表示字符串中的第一个单词,`$0`表示整个字符串,`$1=""`表示将第一个单词设为空,然后打印整个字符串,再使用sed命令去掉前面的空格即可。
以上两个命令都可以去掉变量$str前面的空格,只保留后面的字符串。
阅读全文