我正在尝试从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脚本中进行实际编程。
答案 0 :(得分:0)
尝试一下:
float (**f)[4] = (float(**)[4])malloc(2 * sizeof(float(*)[4]));
for (int p = 0; p < 2; p++) {
f[p] = (float(*)[4])malloc(3 * sizeof(float[4]));
}
添加任何您想grep的参数,例如float (**f)[4] = new ...
作为行号。
答案 1 :(得分:0)
您需要的是:
awk -F'"' 'NR==FNR{ARGV[ARGC++]=$6; word[$6]=$4; next} $0 ~ word[FILENAME]' file
可以轻松地使它变得更健壮和/或更有效,具体取决于您的潜伏需求(例如,您想要什么输出,同一个文件是否可以用不同的单词多次出现,比较应该是正则表达式还是字符串,部分或全部等)。