• bash 中 trim 字符串(去除首尾空格)


    在 bash 下如何去除一个字符串首尾的空格(也就是 trim)呢?其实有一个简单的办法:

    $ echo $STR

    注 意 $STR 不要带引号。因为 $STR 展开后,会作为 echo 的参数。那么 echo 在处理参数的时候,自然会忽略首尾的空格。不过此种方法有个小问题,那就是 echo 输出的结果,会将字符串中间的连续空格变成一个空格。例如 $STR 为 "   any    string    " 的话,那么输出将是 "any string"。

        既然这种方法有这么个小问题,我就想是否可以用其他办法。最后想到的还是用 grep 来做。如下:

    $ echo "$STR" | grep -o "[^ ]+( +[^ ]+)*"

    用 "[^ ]+( +[^ ]+)*" 去匹配除首尾空格外的部分,然后 -o 仅输出匹配的部分,这样就达到去除首尾空格的效果了。
    转自:
    http://blogold.chinaunix.net/u/24581/showart_1882388.html
    以下相关信息:
    常用的 grep 选项有:
    -c 只输出匹配行的个数。
    -i 不区分大小写(只适用于单字符)。
    -h 查询多文件时不显示文件名。
    -l 查询多文件时只输出包含匹配字符的文件名。
    -n 显示匹配行及行号。
    -s 不显示不存在或无匹配文本的错误信息。
    -v 显示不包含匹配文本的所有行。
    -V 显示软件版本信息
    使用grep匹配时最好用双引号引起来,防止被系统误认为参数或者特殊命令,也可以匹配多个单词。
    例如:
    grep -n "^$" test.txt 显示输出空行的行号
  • 相关阅读:
    如何编写高质量的VB代码(转自雪中漫步的专栏)
    写好软件的75条(转)
    .NET在SQL Server中的图片存取技术(转)
    股票基础知识
    ActiveX组件及其注册
    面试之中企动力
    海量数据库的查询优化及分页算法方案(转)
    什么是Ajax(转)
    VB.Net2005使用windows media player 初探
    done sonatus 无人车startup阴区区烙印
  • 原文地址:https://www.cnblogs.com/pekkle/p/6568844.html
Copyright © 2020-2023  润新知