xargs не заканчивается после достижения EOF

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
1
26.07.2019, 16:11
1 ответ

Я не знаю, почему ваш скрипт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 {}
2
27.01.2020, 23:30

Теги

Похожие вопросы