【发布时间】:2017-10-04 02:43:35
【问题描述】:
我想在 bash 中拆分包含 \r\n 的字符串,但回车和 \n 会出现问题。谁能给我提示不同的IFS?我也试过 IFS=' |\' 。
输入:
projects.google.tests.inbox.document_01\r\nprojects.google.tests.inbox.document_02\r\nprojects.google.tests.inbox.global_02
代码:
IFS=$'\r'
inputData="projects.google.tests.inbox.document_01\r\nprojects.google.tests.inbox.document_02\r\nprojects.google.tests.inbox.global_02"
for line1 in ${inputData}; do
line2=`echo "${line1}"`
echo ${line2} //Expected one by one entry
done
预期:
projects.google.tests.inbox.document_01
projects.google.tests.inbox.document_02
projects.google.tests.inbox.global_02
【问题讨论】:
-
顺便说一句,在
string="foo\r\n"中,变量内部实际上没有文字 CRLF 序列(例如,如果您从文件中检索了该变量的内容)。要将该序列分配给字符串,您需要string=$'foo\r\n'