В моем сценарии есть 2 команды:
awk -F'"(,")?' '
NR==FNR { r[$2] = $3; next }
{ for (n in r) gsub(n, r[n]) } 1' file2.csv file1.csv>xyzabc.csv
и
grep -v -f file3.txt xyzabc.csv>output.csv
, поэтому в основном эти команды сравнивают файлы для получения желаемого результата.Мой вопрос заключается в том, что при сравнении я хочу, чтобы сравнение проводилось в нижнем регистре и без пробелов, а также удаление пробелов и преобразование в нижний регистр должно быть временным, то есть исходный текст должен быть напечатан в выходном файле.например:
file1: file 2.csv:
I AM A MAN I am a man
I Like DoGs i like DOGS
I like cats I like cats
, поэтому при использовании команд, упомянутых выше, эти строки не равны.Я пытаюсь использовать tr 'AZ' 'az' и tr -d [: space:] для выполнения работы, однако я борюсь с синтаксисом.Также после того, как сравнение сделано, я хочу напечатать его точно так, как указано в file2.csv, так что это преобразование в строчные буквы и удаление пробелов должно быть временным.Спасибо
edit: я прошу прощения за то, что не очень ясно с моими образцами.
, поэтому file1 содержит следующие данные:
file1.csv:
I am a man
I like dogs
I am a doctor
I like cats
I drink coffee
и file2.csv содержит следующие данные:
file2.csv:
I am a man,man
I like dogs,dogs
I drink coffee,I drink tea
Я использую мою команду awk для этих двух файлов, поэтому она проверяет, присутствуют ли предложения, присутствующие в первом столбце file2.csv, в file1.csv и заменяет их насодержимое во втором столбце файла file2.csv и помещает вывод в другой файл.поэтому при выполнении поиска я хочу, чтобы он был без учета регистра и без пробелов, поскольку file2.csv может содержать несколько пробелов между словами или регистр может отличаться.Кроме того, после получения вывода я не хочу, чтобы содержимое файла1 и файла2 было изменено.
Что касается команды grep, то это простая команда поиска и удаления, которая ищет одинаковые строки в обоих файлах.и удаляет их.Я хочу, чтобы это тоже сравнивалось без пробелов, так как между словами в файлах может быть несколько пробелов.