Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex AWK文件在空间上将列拆分为两列_Regex_Bash_Awk - Fatal编程技术网

Regex AWK文件在空间上将列拆分为两列

Regex AWK文件在空间上将列拆分为两列,regex,bash,awk,Regex,Bash,Awk,我想获取一个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|16 100|Cat|Dog|Sam|123|12345|11|G|Sam Sheparm|2121212|15*666BA

我想获取一个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|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猫主人的危险。我需要将其拆分为两列,即中间的空格。

您可以尝试下面的awk命令

$ awk -F'|' -v OFS="|" '{sub(/ +/,"|",$11)}1' file
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

这将在第11列中用管道替换前一个或多个空格。

您能提供准确的输入和预期的输出吗?@AvinashRaj我添加了准确的示例请分别提供输入和预期的输出。@AvinashRaj我为您在两者之间添加了一个空格。它们是相同的文本,其中一个显示输入,另一个显示输出。@Aaron基本上,您只想将第11列拆分为2,1以15*666BA为一,其余为一?
$ awk -F'|' -v OFS="|" '{sub(/ +/,"|",$11)}1' file
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