bash 中 trim 字符串(去除首尾空格) - grep 去空行
2014-01-09 11:11
1466 查看
在 bash 下如何去除一个字符串首尾的空格(也就是 trim)呢?其实有一个简单的办法:
注 意 $STR 不要带引号。因为 $STR 展开后,会作为 echo 的参数。那么 echo 在处理参数的时候,自然会忽略首尾的空格。不过此种方法有个小问题,那就是 echo 输出的结果,会将字符串中间的连续空格变成一个空格。例如 $STR 为 " any string " 的话,那么输出将是 "any string"。
既然这种方法有这么个小问题,我就想是否可以用其他办法。最后想到的还是用 grep 来做。如下:
用 "[^ ]+( +[^ ]+)*" 去匹配除首尾空格外的部分,然后 -o 仅输出匹配的部分,这样就达到去除首尾空格的效果了。
转自:
http://blogold.chinaunix.net/u/24581/showart_1882388.html
以下相关信息:
常用的 grep 选项有:
-c 只输出匹配行的个数。
-i 不区分大小写(只适用于单字符)。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。
-V 显示软件版本信息
使用grep匹配时最好用双引号引起来,防止被系统误认为参数或者特殊命令,也可以匹配多个单词。
例如:
grep -n "^$" test.txt 显示输出空行的行号
$ echo $STR |
既然这种方法有这么个小问题,我就想是否可以用其他办法。最后想到的还是用 grep 来做。如下:
$ echo "$STR" | grep -o "[^ ]\+\( \+[^ ]\+\)*" |
转自:
http://blogold.chinaunix.net/u/24581/showart_1882388.html
以下相关信息:
常用的 grep 选项有:
-c 只输出匹配行的个数。
-i 不区分大小写(只适用于单字符)。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。
-V 显示软件版本信息
使用grep匹配时最好用双引号引起来,防止被系统误认为参数或者特殊命令,也可以匹配多个单词。
例如:
grep -n "^$" test.txt 显示输出空行的行号
相关文章推荐
- bash 中 trim 字符串(去除首尾空格)
- C#中Trim()、TrimStart()、TrimEnd()的用法,或者说是去除字符串中首尾空格或符合特定条件的任一字符串
- Python 切片:利用切片操作,实现一个trim()函数,去除字符串首尾的空格
- 利用切片操作,实现一个trim()函数,去除字符串首尾的空格
- 【廖雪峰 python教程 课后题 切片】利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:
- 实现一个trim()函数,去除字符串首尾的空格
- 【廖雪峰 python教程 课后题 切片】利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:
- C语言去除字符串首尾空格,trim()函数实现
- 学习笔记之Python 切片:利用切片操作,实现一个trim()函数,去除字符串首尾的空格
- 去除字符串首尾的所有空格,使用切片法!!!
- swift 去除字符串中首尾位置的空格
- php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
- 去除字符串首尾的空格
- JavaScript去除字符串两边空格trim
- 去除字符串的首尾空格(全角,半角)
- C语言去除字符串首尾空格
- ios 去除字符串首尾空格、换行
- js去除字符串首尾空格
- 【美团校招笔试题】去除字符串首尾空格,中间多个空格只保留一个
- 字符串去除首尾和中间重复空格