Я не уверен, как grep -wf daysfile.csv myothercsv.csv
работает для вас, как вы описали. Данные в myothercsv.csv
уже должны быть отсортированы по дням недели, поскольку команда grep просто напечатает любую строку, содержащую любое совпадающее слово в daysfile.csv
, в порядке их упорядочения.
Если вы хотите искать каждое слово в daysfile.csv
последовательно, то вам, вероятно, нужно следующее:
cat daysfile.csv | while read line; do grep "$line" myothercsv.csv; done
Затем вы можете применить другие ответы, которые относятся к добавлению пустых строк (при обнаружении другого первого слова) к выводу.
Кроме того, другой способ сделать это - вставить пустую строку в файл myothercsv и вставить строки ^$
в ваш дневной файл. Вот пример, обратите внимание, что первая строка в файле myothercsv пустая.
$ cat daysfile.csv
mon
^$
tue
^$
wed
^$
$ cat myothercsv.csv
mon,1
tue,2
wed,3
mon,4
tue,5
wed,6
$ cat daysfile.csv | while read line; do grep "$line" myothercsv.csv; done
mon,1
mon,4
tue,2
tue,5
wed,3
wed,6