Bash 有没有办法将一列整数作为一个数组来提取某些数字?

Bash 有没有办法将一列整数作为一个数组来提取某些数字?,bash,shell,unix,awk,Bash,Shell,Unix,Awk,我试图将一系列整数作为一个数组来处理,以便提取感兴趣的列 提取一列整数后的数据如下所示: 01010101010 10101010101 00100111100 10111100000 01011000100 如果我只对第1、第4和第11个整数感兴趣,我希望输出如下: 010 101 000 110 010 这个问题很难用语言来描述,所以我很抱歉不够清晰。我尝试了很多建议,但很多事情,比如awk的substr,都无法跳过第1、第4和第11个位置。对于可以使用空字符串作为字段分隔符的GNU a

我试图将一系列整数作为一个数组来处理,以便提取感兴趣的列

提取一列整数后的数据如下所示:

01010101010
10101010101
00100111100
10111100000
01011000100
如果我只对第1、第4和第11个整数感兴趣,我希望输出如下:

010
101
000
110
010
这个问题很难用语言来描述,所以我很抱歉不够清晰。我尝试了很多建议,但很多事情,比如awk的substr,都无法跳过第1、第4和第11个位置。

对于可以使用空字符串作为字段分隔符的GNU awk,您可以:

awk -F '' '{print $1, $4, $11}' OFS='' infile
使用可以使用空字符串作为字段分隔符的GNU awk,您可以执行以下操作:

awk -F '' '{print $1, $4, $11}' OFS='' infile
可以使用“剪切”命令:

-c只选择字符

或使用gnu awk:

awk '{print $1 $4 $11}' FS= file
FS是字段分隔符,设置为零以捕获每个字符

您可以使用cut命令:

-c只选择字符

或使用gnu awk:

awk '{print $1 $4 $11}' FS= file

FS是字段分隔符,设置为零以捕获每个字符

你也可以试试下面的awk吗


你也可以试试下面的awk吗


如果你能详细说明一下,那就太好了。引用标准他不能引用标准,因为根据POSIX将FS设置为null的效果是未定义的行为,因此这将取决于您使用的awk版本。我想他可以参考gawk的用户指南……如果你能详细介绍一下,那就太好了。引用标准他不能引用标准,因为根据POSIX将FS设置为null的效果是未定义的行为,因此这将取决于您使用的awk版本。他可以参考gawk用户指南,我想…剪切是一个很好的方法。将FS设置为null的效果是每个POSIX都有未定义的行为,因此这将取决于您使用的awk版本。cut是一种很好的方法。根据POSIX,将FS设置为null的效果是未定义的行为,因此这将取决于您使用的awk版本。