繁体   English   中英

如何在bash中转换CSV文件?

How to convert CSV file in bash?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个文件,其中的每一行都是一个逗号分隔值列表。 例如,

1, a, b, c, d, e
2, x, y, z

现在我想在bash中将它转换如下:

1 a
1 b
1 c
1 d
1 e
2 x
2 y
2 z

如何使用shell (bash)脚本执行此操作?

3 个回复
awk -F, '{for(i=2;i<=NF;i++)print $1,$i}' temp

测试如下:

> cat temp
1, a, b, c, d, e
2, x, y, z
> awk -F, '{for(i=2;i<=NF;i++)print $1,$i}' temp
1  a
1  b
1  c
1  d
1  e
2  x
2  y
2  z

您可以将行拆分为标记并将它们放入数组中。 数组的第一个元素将包含数字,在您的情况下它是 1 或 2,依此类推。 像这样的事情可能是:

while read line
do
    arrIN=(${line//,/ })

## make a loop and echo them
## arrIN[0] will have the initial number

done < $file

# $file is the input file you are reading

我知道您需要一个 shell 脚本,但它需要是 bash 吗? 例如,我通常会使用更高级别的脚本语言和 CSV 库。 例如PerlText::CSV

1 如何使用Bash将文本文件转换为CSV

我有一个文本文件,其中包含数千行(每行都有一个电子邮件地址),我想使用bash将其转换为CSV文件。 问题是我不太熟悉Bash,所以不确定如何去做。 有什么建议么? 编辑:文件示例: ...

2015-09-11 12:49:21 1 55   bash/ csv
5 使用 bash 将 .CSV 文件转换为 .txt 文件

我有一个 CSV 文件,其中有很多行以逗号分隔。 我必须将其转换为文本。 我使用命令cp source.csv destination.csv和cat source.csv &gt; destination.txt但它确实以相同的格式输出,每一行都是新的。 它只是被附加在一起。 它输出像 如 ...

6 使用bash提取数字并转换为CSV文件

我是使用bash提取的新手,但我不是寻找我的问题的搜索条件。 我喜欢从一个非常大的日志文件中提取一些变量的数据。 日志文件的示例 我设法使用bash提取与我正在寻找的变量相关的行。 得到这个...... 我想将此数据转换为包含以下列的CSV文件,从而总共生成9列。 ...

7 使用sed将文件从bash转换为csv

我有一个包含以下几行的文件: 我想将它在 shell 中转换为一个只有前 2 个字段的带有选项卡的文件,并跳过其他所有内容: 也许用sed? 我很讨厌这些命令。 ...

8 使用bash或python将路由器配置文件转换为csv

我有一个配置文件,其中包含重复的行组(但组中的行数不同),我希望将这些行合并到单个csv行中,以便更轻松地导入数据库。 (数据库结构是灵活的)。 我最终需要为“滞后”和“退出”之间的每个块最后用逗号分隔的行,如下所示: 然后,我将导入到这样的表中: 我尝试了在这里找到的 ...

9 在 Bash 中将 pcap 文本文件转换为 csv

文本文件中的内容具有以下格式: 所以有时看起来缺少数据,我们想要的是一个如下所示的 csv 文件: 关于丢失的数据,我真的没有任何关于如何使用 Bash 进行操作的线索。 大约有 500 万行,有 30 多列,我的想法是我们可能需要做 30 次“if 子句”来检查和填写“,”以查找任何丢失的 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM