【问题标题】:How to remove all characters after the first colon如何删除第一个冒号后的所有字符
【发布时间】:2014-09-19 18:10:39
【问题描述】:

我有以下字符串,如果文件是二进制文件,我想删除第一个冒号和冒号后面的所有字符可打印或不可打印。

/dir1/dir2/somefile.txt:09/15/2014 11:25:54 root:sometext:sometext:

结束

/dir1/dir2/somefile.txt

【问题讨论】:

  • 那就开始吧。
  • 我在过去 3 个小时里一直在搜索这个网站和其他网站,并尝试了所有示例。我已经遵循了我能找到的每个 sed 示例,并且可以删除第一个 : 之前的所有字符,或者如果没有其他冒号,则可以删除它之后的所有字符。请制作有用的 cmets。

标签: ksh


【解决方案1】:

你可以使用cut

$ str="/dir1/dir2/somefile.txt:09/15/2014 11:25:54 root:sometext:sometext:"
$ echo "$str" | cut -d: -f1
/dir1/dir2/somefile.txt
  • -d: 将分隔符设置为 :
  • -f1 提取第一个字段。

【讨论】:

    【解决方案2】:

    您不需要sed,或cut,或任何外部程序,Korn shell 有此功能但在:

    str='/dir1/dir2/somefile.txt:09/15/2014 11:25:54 root:sometext:sometext:'
    IFS=':' read one two <<< "$str"
    echo $one
    /dir1/dir2/somefile.txt
    

    IFS 是字段分隔符。

    IFS=':' read one two << END
    $str
    END
    echo $one
    /dir1/dir2/somefile.txt
    

    【讨论】:

      【解决方案3】:
      String str = "/dir1/dir2/somefile.txt:09/15/2014 11:25:54 root:sometext:sometext:"
      
      String result= str.substring(0, str.indexOf(':')+1);
      

      【讨论】:

      • 你知道这是一个关于 Korn shell 的问题吗?
      猜你喜欢
      • 2012-10-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-23
      • 1970-01-01
      相关资源
      最近更新 更多