Здесь bash однострочный:
while IFS= read -r i; do [[ ! $i =~ .*adf\.ly.* ]] && echo "$i"; done <file.txt
Переменная i будет содержать каждую строку, а итерация [[$i =~ .*adf\.ly.* ]] проверяет, имеет ли строка строку adf.ly, [ f7] отменяет проверку, поэтому [[ ! $i =~ .*adf\.ly.* ]] проверяет, не содержит ли строка adf.ly Если yes (&&), тогда строка будет напечатана. Чтобы сохранить вывод в другом файле (out.txt):
while IFS= read -r i; do [[ ! $i =~ .*adf\.ly.* ]] && echo "$i"; done <file.txt >out.txt