首页 > 解决方案 > 如何使用 linux grep 命令检查文件中的第 4 个字符是否为“a”

问题描述

要找到第二个字符,它是 grep -e '^.[aA]'。那么第四个角色会是什么呢?我试过 grep -e'^...[aA]'。但它出错了。

标签: linux

解决方案


grep逐行处理输入。^.[aA]如果a或是任何一行A的第二个字符,则为真。

您可以结合grephead检查第一行:

head -n1 filename | grep '^...[aA]'

但它仍然不适用于第一行短于四个字符的文件:

x
ya

真正检查文件中的第四个字符grep并不是最好的工具。

#! /bin/bash
read -N4 chars < filename
if [[ "${chars:3:1}" == [aA] ]] ; then
    echo Found
fi

但如果你足够努力,你仍然可以使用它。例如,用tr空格替换换行符,然后你可以运行你的 grep:

tr '\n' ' ' < filename | grep '^...[aA]'

推荐阅读