逐行获取grep结果并从每行中提取单个单词

时间:2018-06-12 13:56:53

标签: bash sed grep

我在Linux上,我需要:

  1. 查找/ source

  2. 所有子目录中的所有.cpp个文件
  3. 逐一提取所有包含语句中包含的文件名,即#include "filename.h"我必须提取filename.h

  4. 在所有子目录中查找每个filename.h并提取其路径

  5. 在每个.cpp

  6. 中的相应包含语句的末尾将路径插入注释

    现在我只是设法找到所有包含grep命令的include语句,但是我需要逐行读取它们并从该行中提取filename.h并输入文件的位置同一行的结尾。我是否需要sed,或者将grep的结果保存在变量中并循环通过它会更好?谢谢。

    允许我打印所有包含语句的代码段:

    urdir=`pwd`
    for f in `find $curdir/source/ -type f -a -name *.cpp`
    do 
    chmod +rwx $f
    grep -E -s '^[#][include].*["|<].*["|>]$' $f 
    done
    

0 个答案:

没有答案