我需要在文件的某行(第 1 行)的某个位置(7-8)中查找具有特定字符串(“OB”)的文件的文件名。
最好的方法是什么。
最佳答案
如何使用 head
获取每个文件的第一行,然后使用相应的正则表达式 grep
并输出之前的行以保留文件名:
head -n1 * | grep -EB1 '^.{6}OB'
当然,您必须更改文件选择 - 此处 *
- 以满足您的需要。
更新:问题已更新 - 如果您只需要文件名,只需添加另一个 grep 来捕获 head
命令给出的文件名:
head -n1 * | grep -EB1 '^.{6}OB' | grep '==>'
关于regex - grep 用于在特定位置的特定行中包含特定文本的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23679589/