首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在前面的字段中是否包含分隔符?

问在前面的字段中是否包含分隔符?
EN

Unix & Linux用户
提问于 2018-11-18 14:38:23
回答 1查看 123关注 0票数 -2

如果我是正确的,在bash中,readarray使用一些分隔符将输入分隔成字段,分隔符默认为换行符。

与分隔符不同,分隔符包含在前面的字段中。 (如果我将-t指定为readarray,则它将是分隔符而不是分隔符)。为了验证这一点,我有一个文件

代码语言:javascript
复制
$ cat f10
1
2
3

为什么在前面的字段中没有包含分隔符(换行符)?谢谢。

代码语言:javascript
复制
$ readarray myarr < f10
$ printf "%s" ${myarr[1]}
2$ printf "%s" ${myarr[2]}
3$ printf "%s" ${myarr[0]}
1$

我还有一份文件:

代码语言:javascript
复制
$ cat f1
1 2 3

它是否表明当分隔符是2时,分隔符包含在它前面的字段中?为什么1和2之间的空格和2到3之间的空格被移除?

代码语言:javascript
复制
$ readarray -d 2 myarr < f1
$ printf "%s" ${myarr[0]}
12$ printf "%s" ${myarr[1]}
3$
EN

回答 1

Unix & Linux用户

发布于 2018-11-18 14:56:33

readarray/mapfile将终止符留在那里--换行符在那里,但是对于默认值IFS,${myarr[0]}中的换行符会在分词过程中丢失。引用变量展开以防止出现这种情况。

代码语言:javascript
复制
$ cat f10
1
2
3
$ readarray myarr < f10

$ printf "%s" "${myarr[0]}"
1
$ printf "%q\n" "${myarr[0]}"
与分隔符不同,分隔符包含在前面的字段中。我不太确定这是否是一个普遍接受的意思?甚至连链接后面的SO 回答都说“事物之间有分隔符”。字典定义将暗示相反的情况:分隔符 1.分隔的分隔符。以逗号分隔的文件以逗号作为分隔符,分隔文件的每个字段.1\n'

$ IFS=
$ printf "%q\n" ${myarr[0]}
J15与分隔符不同,分隔符包含在前面的字段中。J26我不太确定这是否是一个普遍接受的意思?甚至连链接后面的SO C7都说“事物之间有分隔符”。C8将暗示相反的情况:J19分隔符 1.分隔的分隔符。以逗号分隔的文件以逗号作为分隔符,分隔文件的每个字段.J2101\n'

J15

与分隔符不同,分隔符包含在前面的字段中。

J26

我不太确定这是否是一个普遍接受的意思?甚至连链接后面的SO C7都说“事物之间有分隔符”。C8将暗示相反的情况:

J19

分隔符 1.分隔的分隔符。以逗号分隔的文件以逗号作为分隔符,分隔文件的每个字段.

J210

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/482542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档