grep -v -wf file2.csv file1.csv
напечатает каждую строку file1.csv
, не содержащую ни одного слова из file1.csv
.
Конечно, сейчас отсутствует строка заголовка. Если вам это нужно, сделайте это:
$ head -n1 file1.csv;grep -v -wf file2.csv file1.csv
Если первая строка file2.csv
определяет столбец, в котором слова не должны совпадать, вот awk
решение:
$ awk -v FS="," '
NR==FNR && NR==1 {column=$1; next;} # save the column name to which one will compare
NR==FNR {data[$1]++; next;} # save the list of words to match again
NR!=FNR && FNR==1 {print; for(i=1;i<=NF;i++) {if($i==column) c=i}; next;} # print header line of file1, find column number to which one will compare
{if ($c in data == 0) print} # for any following line check if the word is not in our list
' file2.csv file1.csv
Примерно так:
#!/bin/bash
set -e
original_dir="$(pwd)"
mkdir -p FolderA
cd FolderA
for file in "${original_dir}"/*
do
ln -s -t. "$file"
done
Не тестировалось