所以我希望在一个非常大的文件(50Gb)的每一行中grep一个给定字符的数量。我需要获取包含Character的每一行的输出?要么 。每行的出现次数以及行号。关于如何通过bash完成此操作的任何想法?我知道任何一个char的最大数量是每行10个,min是0.这是一个旧的,写得不好的自定义数据库,我需要转换,原始开发人员使用句点和问号作为分隔符。
答案 0 :(得分:0)
以下awk
命令将打印行号,找到的?
个数以及包含?
的行的内容:
awk -F? '/?/{print NR,NF-1,$0}' file
答案 1 :(得分:0)
这将在行号前面的文件中输出?
或.
个字符的逐行计数:
line_no=1;
while read line
do
echo $line_no $((`echo $line | sed 's/[^?.]//g' | wc -m`-1))
line_no=$(($line_no+1));
done < "your_file.txt"