Я пытаюсь извлечь значение столбца (назовем его x) только в том случае, если другой столбец (назовем его y) содержит запись, равную 1. Если запись равна 0 (или что-то еще), то яхочу, чтобы это было проигнорировано. Запись в столбце x будет затем записана в файл в определенном формате.
Я пытался использовать while read line
и оператор if для этого, но потому что я уже использую while read line
в извлечении столбцау значения у меня проблемы с получением его на работу. Как я извлекаю столбец y и сохраняю его в файл, показано.
cut -d "," -f4 $input| sed '1d' | while read line;
do
printf -- "- name: `echo "$line" | tr a-z A-Z`\n search_string: ['$line']\n exact_match: False\n" >> output.txt
done
Пример ввода:
host,port,process,monitor
localhost,1000,process1,1
localhost,1001,process2,1
localhost,1002,process3,0
Пример вывода:
- name: PROCESS1
search_string: ['process1']
exact_match: False
- name: PROCESS2
search_string: ['process2']
exact_match: False
В случае, если этонепонятно столбец x - столбец процесса, а столбец y - столбец монитора.
Буду признателен за любую помощь, если у кого-нибудь возникнут какие-либо идеи.