linux - 如何使用 linux grep 命令检查文件中的第 4 个字符是否为“a”
问题描述
要找到第二个字符,它是 grep -e '^.[aA]'。那么第四个角色会是什么呢?我试过 grep -e'^...[aA]'。但它出错了。
解决方案
grep
逐行处理输入。^.[aA]
如果a
或是任何一行A
的第二个字符,则为真。
您可以结合grep
仅head
检查第一行:
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]'
推荐阅读
- android - 如何在 android Pie 和 UP 中以编程方式打开/关闭扬声器
- c++ - 奇怪的不完整类型不允许错误
- typo3 - 图像宽度取决于 colPos (TYPO3 fluid_styled_content)
- ajax - 在codeigniter中通过ajax更新进度条
- marklogic - 结合 XPath 和搜索查询
- python - 将函数应用于 numpy 数组的每个矩阵
- java - Idempiere 电子邮件系统
- amazon-web-services - 如何使 ElastiCache 上的 Redis 事件触发 Lambda 函数?
- c++ - 向量容量显示为 0,即使它是保留的
- python-3.x - 为什么我无法获取 tkinter 变量的值?