在Bash中使用2个不同的分隔符拆分字符串

gee*_*zzy 1 regex string bash split ifs

我试图在BASH中基于2个分隔符拆分一个字符串 - Space和\.这是字符串: -

var_result="Pass results_ADV__001__FUNC__IND\ADV__001__FUNC__IND_08_06_14_10_04_34.tslog"
Run Code Online (Sandbox Code Playgroud)

我希望它按如下方式分为3部分: -

part_1=Pass
part_2=results_ADV__001__FUNC__IND
part_3=ADV__001__FUNC__IND_08_06_14_10_04_34.tslog
Run Code Online (Sandbox Code Playgroud)

我尝试过使用IFS,它很好地分割了第一个.但是第二次分裂了一些如何移除"\"并坚持整个部分,我得到分裂为: -

test_res= Pass
log_file_info=results_ADV__001__FUNC__INDADV__001__FUNC__IND_08_06_14_10_04_34.tslog
Run Code Online (Sandbox Code Playgroud)

我使用的IFS如下: -

echo "$var_result"
IFS=' ' read -a array_1 <<< "$var_result"
echo "test_res=${array_1[0]}, log_file_info=${array_1[1]}"
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Mar*_*ell 6

我想你需要这个:

IFS=' |\\' read -ra array_1 <<< "$var_result"
Run Code Online (Sandbox Code Playgroud)