如何从文件的每一行中 grep 倒数第二个或倒数第 n 个字符

如何从文件的每一行中 grep 倒数第二个或倒数第 n 个字符

我想 grep 文件每一行的倒数第二个或倒数第 n 个字符。我无法找到如何在 Linux 中执行此操作。

答案1

您可以将搜索锚定在行尾,并计算您想要的额外字符数:

grep 'X.$'

将查找“X”作为倒数第二个字符,

grep 'X.\{4\}$'

将查找“X”作为倒数第五个字符,等等。

答案2

我建议使用 GNU grep:

echo abcdef | grep -Po '.(?=.{1}$)'

输出:

e

echo abcdef | grep -Po '.(?=.{3}$)'

输出:

C

相关内容