Мой бесхитростный подход к этой проблеме должен использовать count-matches
для подсчета разделителей записей затем добавьте тот. Принятие Вашего разделителя является пространством, выберите строку и войдите M-x count-matches <RET><space><RET>
. Вместо того, чтобы считать разделители, предоставляя следующий regex к count-matches
работы с Вашими данными, но более утомительно для ввода: \b-?[0-9]+\.[0-9]+\b\|\bNaN\b
. Ваши данные в качестве примера не показывают отрицательных данных, но я включал дополнительный '-' в regex в случае, если это могло.
Попробуйте:
$ awk 'FNR==NR{a[$1]=$2;next};{$1 = $1"\t"a[$1]}1' OFS='\t' file1 file2
1 today a lot
1 today sometimes
2 tomorrow at work
2 tomorrow at home
2 tomorrow sometimes
3 red new
Требуется ли вам решение awk
?
присоединение файла1 file2 > file3
сделает именно то, что вы хотите.