在这个问题中从字符位置获取行号我知道可以在文本文件中使用脚本从字符位置获取行号。
M-x-goto-char
Emacs 具有将光标定位在字符位置的功能。
我的问题是:是否有任何 UNIX 实用程序可以以优雅的方式完成工作?
答案1
相同的技术可用于标准 POSIX 工具:计算直到您感兴趣的字符位置为止的行数。
一种方法是使用将dd
字符保持在感兴趣的位置,并wc
计算行数:
dd if=input bs=1 count=5437 | wc -l
这将从 0 开始计数行(IE如果wc -l
输出 0,则该字符出现在第一行)。
以下变体清理输出并从 1 开始:
(dd if=input bs=1 count=5437 2>/dev/null; printf "\n") | wc -l