Не вижу, в чем проблема. Возможно, file1
содержит другие символы после 'N', например пробел N
, другие символы NO
или \r
(файл Windows). Или строчными n
.
Другое решение может использовать paste
. Найдите символ, которого нет в file1 (например, #
), и используйте этот символ для вставки двух файлов вместе.
И протестируйте решение с 10 строками, а не с миллиардом (комментарий к другому ответу).
paste -d'#' file1 file2
Возможно, вы видите что-то странное в строках, которые должны начинаться с N#
.
Теперь вы можете использовать sed
для p
печати строк или w
для записи в файл.
paste -d'#' file1 file2 | sed -n 's/^N#.*/waste/p;s/^[^#]*#//w newfile'