У меня есть два CSV-файла. Один из них - словарь, а другой - файл, который я хочу изменить. Словарь имеет 3 колонки:AWK для решения CSV-значений
DEPT_CODE,DEPT,DEPT_NAME
500,Billing,Billing Department
300,Accounting,Accounting Department
...
входной файл имеет 7 столбцов:
TF,DOC,SECTION,XOFFSET,HEADING,YOFFSET,DEPT_CODE
TRUE,JOURNAL,Header Section,12345,Heading 1,55152,500
FALSE,BINDER,Body Section,23456,Heading 2,66425,300
...
Я хочу использовать AWK заменить 7-й столбец входного файла со 2-й колонке словаря файла, когда Столбец 7 входного файла и столбец 1 словарного файла совпадают.
Например:
TRUE,JOURNAL,Header Section,12345,Heading 1,55152,Billing
FALSE,BINDER,Body Section,23456,Heading 2,66425,Accounting
...
Я использую следующий и не получить никаких результатов. Что я делаю не так?
awk -F',|, ' 'NR==FNR{a[$1]=$2} NR>FNR{$7=a[$7];print}' OFS=',' "$dictionary.csv" "$input.csv"
Я использовал | разделители в моем контексте вопроса, но мои настоящие данные имеют разделители. – didjit
Будет ли в файле словаря более одной строки? – dawg
Да, много строк – didjit