【发布时间】:2015-09-25 15:42:54
【问题描述】:
我想获取一个 csv 文件并使用 AWK 将一列拆分为两部分。该列是 $11 并且包含由空格分隔的单词。
我正在尝试使用
`awk -F ' ' -v OFS='|' '{ "$11=$11"; print }' | \`
我想获取第 11 列,使用 | 将其分成两部分作为分隔符,然后打印结果。
结果看起来像 -
输入
1|2|3|4|5|6|7|8|9|10|11|12|13|14|15
100|Cat|Dog|Sam|123|12345|11|G|Sam Sheparm|2121212|15*666BA Dangers Of Cat Ownership|4/28/13|4/21/16|ACT|132132132132
预期输出
1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16
100|Cat|Dog|Sam|123|12345|11|G|Sam Sheparm|2121212|15*666BA|Dangers Of Cat Ownership|4/28/13|4/21/16|ACT|132132132132
什么是使用空格将特定列(编号 11)拆分为两个价格的 AWK 命令。为什么我的 awk 命令不起作用?第 11 列看起来像 15*666BA Dangers Of Cat Ownership。我需要把它从中间的空间分开,所以它是两列。
【问题讨论】:
-
您能否提供准确的输入以及预期的输出?
-
@AvinashRaj 我添加了确切的例子
-
请分别提供输入和预期输出。
-
@AvinashRaj 我为您在两者之间添加了一个空格。它们是相同的文本,一个显示输入,另一个显示输出。
-
@Aaron 基本上,您只想将第 11 列拆分为 2,其中 1 为 15*666BA 为一,其余为一?