文字位置から行番号を取得する

文字位置から行番号を取得する

この質問には文字位置から行番号を取得するテキストファイルのスクリプトを使用して、文字位置から行番号を取得することが可能であることを知っています。

M-x-goto-charEmacsにはカーソルを文字位置に置く機能があります。

私の質問は、これをエレガントな方法で実行できるUNIXユーティリティはありますか?

答え1

標準のPOSIXツールにも同じ技術を使用できます。目的の文字位置までの行数を計算します。

1つの方法は、dd文字を関心のある場所に保持し、行数を数えるwcことです。

dd if=input bs=1 count=5437 | wc -l

これにより、0から行の計算が始まります(つまり0が出力されると、wc -l最初の行に文字が表示されます。

次のバリアントは出力をクリーンアップし、1から始まります。

(dd if=input bs=1 count=5437 2>/dev/null; printf "\n") | wc -l

関連情報