Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
Unix 对包含重复图案的行进行计数_Unix_Awk_Sed_Filtering - Fatal编程技术网

Unix 对包含重复图案的行进行计数

Unix 对包含重复图案的行进行计数,unix,awk,sed,filtering,Unix,Awk,Sed,Filtering,我有一个文件(file.txt),其中包含10行,其中可能包含某个位置(14-17)的重复模式 fsdf sfkljkl4565 fjjf lmlkfdm1235 fkljfgdfgdfg6583 eretjioijolj6933 IJSFOI4565 dgodiiopkpok6933 fsj opkjfiej4565 IHFZEJIJF4565 dfsdkfjlfeff1235 DIJDIJDZ4565 所需的输出是对包含图案的行进行计数: 发生模式 5 4565 2

我有一个文件(file.txt),其中包含10行,其中可能包含某个位置(14-17)的重复模式

fsdf sfkljkl4565
fjjf lmlkfdm1235
fkljfgdfgdfg6583
eretjioijolj6933
IJSFOI4565
dgodiiopkpok6933
fsj opkjfiej4565
IHFZEJIJF4565
dfsdkfjlfeff1235
DIJDIJDZ4565
所需的输出是对包含图案的行进行计数:

发生模式 5 4565 2 1235 1 6583 2 6933 我已尝试筛选该文件

cat File.txt | cut -c14-17 | sort -n -K1,1-1,3 >> File_Filtered.txt 

我需要您的帮助来添加第一列(#出现次数)

要获得重复次数,请使用
uniq-c
。因此,请尝试:

 $ cut -c13-17 File.txt | sort -n | uniq -c | sort -nr
      5 4565
      2 6933
      2 1235
      1 6583
以上是使用Linux和GNU实用程序测试的。(根据示例代码判断,您可能正在使用不同的工具。)

包括标题 以下内容包括标题,并使用
列-t
确保所有内容都排列整齐:

$ { echo '#occurences pattern'; cut -c13-17 File.txt | sort -n | uniq -c | sort -nr; } | column -t
#occurences  pattern
5            4565
2            6933
2            1235
1            6583

谢谢,伙计,效果很好,你知道如何添加标题吗?@technopathe是的。我刚刚添加了包含headers.Ooops的代码,我试过了,但在脚本文件中不起作用。尽管有指挥的功能line@technopathe它应该在脚本中工作。请给我更多关于你如何使用它的细节。Awk是一种瑞士军刀+1.
$ awk '{cnt[substr($0,13)]++} END{for (i in cnt) print cnt[i], i}' file
2 6933
1 6583
5 4565
2 1235