Возможно, вы хотите
awk '
NR == FNR {ids[$1]=1; next}
$3 in ids {print $3, $12}
' 7253.txt *.logistic > result.txt
Если вы хотите назначить вывод команды оболочки переменной, используйте VAR=$(command)
, в вашем случае
IP=$(grep '"ip":'../path/to/file.txt | awk '{ print $2 }' | tr -d '"' | tr -d ',')
Но некоторое время назад кто-то решил изобрести sed
, чтобы избежать слишком сложных трубопроводов:
IP=$(sed '/"ip":/!d;s/",//;s/.*"//'../path/to/file.txt)
/"ip":/!d
игнорирует все строки без "ip":
в ней s/",//
удаляет завершающие двойные кавычки и запятую ;s/.*"//
удаляет все до оставшейся двойной кавычки