Bash-如果符号存在则解析一个单词

时间:2014-02-18 02:12:38

标签: bash if-statement

我正在尝试将文件解析为特定的字符串。我想从文件的一个部分获取一个区域,但它可以是变量。这是文件格式:

info info2 info3 num:num-num_1|SFSDFDSFAWEAB-SDSSDF|SDFSD207;DSFDS140  
info info2 info3 num:num-num|SFSDFDCDVD-SDDFSDFF|SDFSD207;DSFDS140  
info info2 info3 num:num-num_2|SFSDDSFD-ERSWSDFSDF|SDFSD207;DSFDS140

我想让num:num-num_1成为num:num-num,但不是每个条目都有“_#”所以我已经管理了这么多:

#!/bin/bash
while read line
do 
titletmp=$(echo $line | cut -d'\t' -f4)
roi=$(echo $titletmp | cut -d'|' -f1)

done

最让我感到:num:num-num_1但我无法弄清楚如何做下一步。 有什么建议吗?

1 个答案:

答案 0 :(得分:0)

要删除下划线符号及其后的任何内容,请使用后缀删除:

roi=${roi%_*}

例如:

$ roi=num:num-num_1
$ roi=${roi%_*}
$ echo $roi
num:num-num