Puede usar el siguiente comando para obtener el resultado según el requisito
awk 'NR==FNR{a[$1];next}!($1 in a){print $0}' Keyword_file first_file
Keyword_file===> Consists of keyword in first column
El comando anterior elimina las líneas del primer archivo _cuando coincide con cualquiera de las palabras clave presentes en el archivo de palabras clave _y muestra la línea restante
A continuación se muestra el ejemplo para el mismo
Avísame por cualquier confusión
Example
keyword_file
praveen
ajay
san
first_file
praveen is good
san is bad
abhi is great
kiran is awesome
command: awk 'NR==FNR{a[$1];next}!($1 in a){print $0}' Keyword_file first_file
output
abhi is great
kiran is awesome
Я не знаю, почему ваш скриптxargs
-не работает, возможно, в конце нет новой строки или какая-то другая проблема с параметром -d
. Поскольку меньший список работает, возможно, в какой-то строке есть проблемные символы.
Итак, вместо использования -d $'\n'
я предпочитаю использовать -I{}
, чтобы избежать проблем и получить больше контроля. Для команды используйте {}
, который заменяется каждой строкой.
Кроме того, у вас есть UUOC , xargs
обеспечивает опцию -a
или --arg-file
:
-a file, --arg-file=file Read items from file instead of standard input. If you use this option, stdin remains unchanged when commands are run. Otherwise, stdin is redirected from /dev/null.
Попробуйте:
xargs -a urls.txt -I{} -P 250 php script.php {}