Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
所以我希望在一个非常大的文件(50Gb)的每一行中查找给定字符的数量。我需要为包含 Character 的每一行获取输出?或者 。每行出现的次数以及行号。关于如何从bash简单地做到这一点的任何想法?我知道每个字符的最大数量是每行 10 个,最小值是 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"
以下awk命令将打印行号、?找到的 s 数以及包含 的行的内容?:
awk
awk -F? '/?/{print NR,NF-1,$0}' file