bash - 将制表符分隔的数组转换为 bash 中的列表
问题描述
我有一个水龙头分隔的数组文件,看起来像
12479 12499 12518 12540 12557 12578 12585 12597 12608 12627 12634
我想得到类似的东西
12479
12499
12518
12540
12557
12578
12585
12597
12608
12627
12634
12646
我的尝试:
while read line; do echo $line; done < file.dat
while IFS=$'\t' read -r -a file.dat; do echo myArray; done < file.dat
我相信我缺少一些简单的语法,或者可能有更好的方法来做到这一点。有什么帮助吗?
解决方案
展开里面的文件()
,使其成为一个数组。默认情况下,任何空格都将用作单词分隔符。
myArray=($(cat file.dat))
printf '%s\n' "${myArray[@]}"
您还可以使用该tr
命令将制表符转换为换行符:
tr '\t' '\n' < file.dat
推荐阅读
- python-3.x - iloc 的索引器过多
- mysql - 具有单个应用程序服务器实例的数据库连接池
- ms-access - 在 DLookup 标准中使用 Null
- c# - 在 Xamarin 中建立与 Oracle Database 11g XE 的连接
- python - TypeError: __init__() 为参数 'fieldnames' 获得了多个值
- javascript - 用绝对值替换字符
- javascript - 什么是“JS 数据仓库”?
- javascript - 在 index.html 中使用 node.js 脚本
- java - Firebase 登录 - 加载卡住
- angular - 将 crypto-js 与 Angular 5 项目一起使用时出现意外令牌错误