Вы хотите paste
утилита:
paste history today > new_history
По умолчанию, paste
разделяет строки с a tab
. Можно изменить это с -d
опция.
paste
только работы как ожидалось, если файлы, которые будут объединены, имеют то же количество строк в том же порядке, и без ключей, которые, возможно, должны были бы быть удалены из одного из файлов. Для немного более сложной утилиты посмотрите join
Самым легким путем я могу думать, чтобы сделать, это должно было бы циклично выполниться через предшествующий дневной вывод и распечатать ту строку + новое содержание, которое Вы хотите в конце каждой из тех строк.
$ while read i; do printf "%s %s\n" "$i" "..new stuff.."; done < prior.txt
Скажите, что я поместил Ваши строки в файл и называю его prior.txt
.
file1 3443 words 11-20-13 44 4788 words 11-23-13
file2 4457 words ...
Если бы я выполняю вышеупомянутую команду, я получил бы следующий вывод:
$ while read i; do printf "%s %s\n" "$i" "..new stuff.."; done < prior.txt
file1 3443 words 11-20-13 44 4788 words 11-23-13 ..new stuff..
file2 4457 words ... ..new stuff..
Вышеупомянутое использование a while
цикл для прохождения через каждой строки prior.txt
. Я затем использую printf
распечатать ту строку, которая содержится в переменной $i
, сопровождаемый строкой ..new stuff..
.
Можно подкачать собственное содержание в ..new stuff..
или вышеупомянутое приращения по мере необходимости для удовлетворения потребностям.
"..new stuff.."
. Просто поместите то, что Вы хотите в "$(...)"
. Но это поместит весь вывод от этой команды, таким образом, я не буду думать, что это - то, что Вы после. Как я сказал, я должен буду видеть больше Вашего фактического сценария, чтобы дать Вам лучший ответ, чем это.
– slm♦
23.11.2013, 23:23