grep模式和文件对

保罗·洛伦兹尼(Paolo Lorenzini)

我有一个文件(search.patterns),其中包含要搜索到其他txt文件列表中的模式列表。

搜索模式

home
dog 
cat

文件1.txt

home 3
tiger 4
lion 1

文件2.txt

dolphin 6
jaguar 3
dog 1

文件3.txt

donkey 3
cat 4
horse 1

所以我想在文件1中搜索模式文件的第一行,在文件2中搜索第二行,在文件3中搜索第三行

输出:

home 3
dog 1
cat 4

我已经写了一些这样的代码:

for f in *.txt;
    do 
    while IFS= read -r LINE; 
        do grep -f "$LINE" "$f" > "$f.out"
    done < search.patterns
done

但是,输出文件为空

任何帮助,高度赞赏,谢谢

库萨兰达

使用bash

#!/bin/bash

files=( 'file 1.txt' 'file 2.txt' 'file 3.txt' )

while IFS= read -r pattern; do
    grep -e "$pattern" "${files[0]}"
    files=( "${files[@]:1}" )
done <search.patterns

测试它:

$ bash script.sh
home 3
dog 1
cat 4

该脚本将相关的文件名保存在files数组中,然后继续从search.patterns文件中读取模式对于每个模式,files都会查询列表中的第一个文件然后从files列表中删除已处理的文件(在列表中产生新的第一个文件名)。

如果模式数量超过其中的文件数量files,则将出现错误grep

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从文件读取grep模式

来自分类Dev

从文件读取grep模式

来自分类Dev

从文件读取grep模式

来自分类Dev

grep ip和文件中的端口

来自分类Dev

Java Globbing模式以匹配目录和文件

来自分类Dev

在模式和文件末尾之间找到线?

来自分类Dev

sed模式匹配和文件插入

来自分类Dev

Grep匹配外部文件的模式

来自分类Dev

sed在模式和文件末尾之间替换模式

来自分类Dev

使用模式和文件名分割文件

来自分类Dev

如何grep特定行_和文件的第一行?

来自分类Dev

歌曲文件列表的模式匹配和文本处理

来自分类Dev

grep排除文件名模式

来自分类Dev

Grep模式的前50行文件

来自分类Dev

Grep用于搜索文件中的模式

来自分类Dev

从大型文件中获取大量Grep模式

来自分类Dev

文件中提供了多种模式的grep

来自分类Dev

我想从文件中 grep 特定模式

来自分类Dev

grep 无法从 CSV 文件中删除模式

来自分类Dev

仅在包含“模式1”的文件中使用Grep“模式2”

来自分类Dev

rsync与文件夹和文件名模式匹配以复制文件

来自分类Dev

模式文件grep的输出是否取决于模式文件中模式的顺序?

来自分类Dev

grep从包含模式列表的文件中搜索模式,将每个模式的结果写入单个文件

来自分类Dev

如何打印与grep模式匹配的文件的文件详细信息

来自分类Dev

从文件1到文件2列的grep模式

来自分类Dev

grep在多个文件中搜索模式并输出到不同的文件

来自分类Dev

使用模式文件和输入文件进行grep过滤

来自分类Dev

grep,awk,sed,在文件1和文件2的列3中打印匹配的列2

来自分类Dev

如何搜索和列出具有特定模式的文件和文件夹?