Можно ли искать строку и, если она существует, оставить только эту строку ... полную строку, а не только строку?У меня есть две переменные данных через запятую.То, что я хотел бы сделать, это перебрать мою переменную $ data и использовать ее в качестве поискового элемента.Затем найдите переменную $ example и, если она найдет совпадение, добавьте некоторые данные только к этой строке.Ниже это добавляет данные к правильной вещи, но это печатает дважды, потому что в этом случае есть два элемента.Было бы неплохо сказать, что ничего не печатать, если это не совпадение, а затем напечатать всю строку
#!/bin/bash
data="item,thing
item2,thing2"
example="a,lot,of,thing,in,this,csv
big,foot,lives,next,to,me,yikes"
echo "$data" | while IFS=, read -r col1 col2
do
echo "$example" | sed "s/$col1/$col2,$col1/i"
done
Я пытался сделать col2 ключом массива, но мне это не удалось.Может быть, потому что я на Mac и из того, что я читал, поставляется с более старой версией Bash.