我试图将一系列整数视为一个数组,以提取感兴趣的“列”。
提取整数列后的数据如下:
01010101010
10101010101
00100111100
10111100000
01011000100
如果我只对第1、4和11个整数感兴趣,我希望输出看起来像这样:
010
101
000
110
010
这个问题很难用言语来描述,因此,我对缺乏清晰性感到抱歉。我尝试了许多建议,但是awk的substr()
等许多内容都无法跳过位置(例如此处的第1,第4和第11位置)。
答案 0 :(得分:7)
您可以使用cut
命令:
cut -c 1,4,11 file
-c
仅选择字符。
或使用(gnu)awk:
awk '{print $1 $4 $11}' FS= file
FS
是字段分隔符,为了捕获每个单个字符,将其设置为空。
答案 1 :(得分:4)
使用可以将空字符串用作字段分隔符的GNU awk
,您可以执行以下操作:
awk -F '' '{print $1, $4, $11}' OFS='' infile
答案 2 :(得分:2)
您能否也请关注awk
。
awk '{print substr($0,1,1) substr($0,4,1) substr($0,11,1)}' Input_file