-2

そのため、非常に大きなファイル(50Gb)のすべての行で特定の文字の数をgrepしようとしています。Character を含む各行の出力を取得する必要がありますか? また 。行ごとの出現回数と行番号。単純に bash からこれを行う方法についてのアイデアはありますか? いずれかの char の最大数は 1 行あたり 10 で、最小は 0 です。これは、変換する必要がある古くて不十分に記述されたカスタム DB からのものであり、元の開発者はピリオドと疑問符を区切り文字として使用していました。

4

2 に答える 2

0

次のawkコマンドは、行番号、見つかったsの数、および:?を含む行の内容を出力します。?

awk -F? '/?/{print NR,NF-1,$0}' file
于 2013-03-18T17:58:49.550 に答える
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"
于 2013-03-18T18:32:19.833 に答える