开发者社区> 问答> 正文

Grep使用多个唯一单词的多个文件

我正在尝试从1200个文件中提取行。我现在所拥有的是一个具有以下格式的文本文件:

"1" "keyword1" "filename1"
"2" "keyword2" "filename2"
"3" "keyword3" "filename3"
"4" "keyword4" "filename4"
and so on.

我要做的是检查文件名“ n”中包含关键字“ n”的行。我猜想这可以在bash脚本中使用某种循环来完成,如下所示

for (i in 1:n){ 
grep "dataframe[i, 2]" dataframe[i,3]}

但是我真的很难理解如何像以前使用R一样在BASH脚本中进行实际编程。

展开
收起
祖安文状元 2020-01-05 19:07:59 509 0
1 条回答
写回答
取消 提交回答
  • 尝试这个:

    #Iterate over the file, reading one line at a time
    #For each line read 3 columns
    while read -r col1 col2 col3; do
      #remove leading and trailing quotes (") with sed
      pattern=`sed -e 's/^"//' -e 's/"$//' <<<"$col2"`;
      file=`sed -e 's/^"//' -e 's/"$//' <<<"$col3"`;
      echo "Matches in $file:"
      #find matches with grep
      grep "$pattern" "$file";
      echo ""
    done < list.txt
    
    2020-01-05 19:08:09
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载