РЕДАКТИРОВАТЬ: Поскольку OP добавил, что строки из предыдущего Input_file тоже нужны, поэтому отредактировал решение следующим образом.
awk 'FNR==NR{a[$0]=$0;next} {for(i in a){if(match($0,a[i])){print substr($0,RSTART,RLENGTH);b[i]=i;next}};print;} END{for(k in a){if(b[k]==""){print a[k]}}}' 1.txt 2.txt
Теперь добавляем не-лайнерную форму решения.
awk '
FNR==NR{
a[$0]=$0;
next}
{
for(i in a){
if(match($0,a[i])){
print substr($0,RSTART,RLENGTH);
b[i]=i;
next}};
print}
END{
for(k in a){
if(b[k]==""){
print a[k]}}
}
' 1.txt 2.txt
Не могли бы вы попробовать и сообщите мне, поможет ли это вам.
awk 'FNR==NR{a[$0]=$0;next} {for(i in a){if(match($0,a[i])){print substr($0,RSTART,RLENGTH);next}};print}' 1.txt 2.txt