データが二重コロン "::" で区切られているログ ファイル (C を使用) を処理したい。ツールはこれが好きawk
で、これを行うのsed
に非常に効率的だと思います。しかし、awk 出力値が私の C 変数に渡される可能性はありますか? たとえば、1 つのログ情報は次のようになります。
a::b::c::d
私はstruct
4つのint
要素で構成されています。4つの部分を構造体要素に保存する方法は? 別の方法として libary call
を使用することも考えましたが、呼び出す前に、大量のログ情報から適切な行を選別する必要があり、 orについてさらに考えさせられます。
ご協力ありがとうございました。より良い選択肢がある場合は、それを共有するのはとても親切です.strtok
sed
grep
更新: 「指定された値に従って一致した行を並べ替える」など、上記のすべてが実行時に行われ、それらを処理してから値を保存することを強調するのを忘れていました。scanf
は問題ありstring
ませんが、内部にスペースがある値がある場合はどうなりますか?