Por*_*ine 2 array gnu newlines fzf
a.1.58 fadado/CSV https://github.com/fadado/CSV
a.1.63 jehiah/json2csv https://github.com/jehiah/json2csv
a.1.80 stedolan/jq https://github.com/stedolan/jq/issues/370
Run Code Online (Sandbox Code Playgroud)
mapfile -d $'\t' -t Link < <(awk 'BEGIN{FS="\t"; OFS="\t"} {print $2,$3}' "${SessionP}" | fzf)
Run Code Online (Sandbox Code Playgroud)
在上面的命令中,我使用-t了 mapfile 选项,但echo "${Link[1]}"打印了一个新的行尾!
参考
检查您的本地文档,而不是在网络上其他地方找到的文档。在交互式bashshell 会话中,键入help mapfile或查找手册 ( )mapfile中的文档。根据您的 版本,文档可能与网络上的内容有所不同。bashman bashbash
在我的系统上,使用bash5.1.8,help mapfile记录了这样的-t选项mapfile:
-t从每行读取中删除尾随 DELIM(默认换行符)
该DELIM设置有-d:
-d delim使用 DELIM 来终止行,而不是换行
这意味着当使用-d $'\t' -twith 时mapfile,它会删除一个尾随制表符(如果有的话),而不是尾随换行符。
从 4.4 版开始,bashshell 就有了mapfile -d。引入这个选项的被记录这样的:
该
mapfile内建现在有一个-d使用任意字符作为记录分隔符,以及选项-t与供给到剥离分隔符选项-d。
要在打印最后一个元素时从数据中删除尾随换行符,请"${Link[1]%$'\n'}"在输出元素时使用。如果最后一个字符是换行符,这将从元素中删除最后一个换行符。
| 归档时间: |
|
| 查看次数: |
171 次 |
| 最近记录: |