Это то, что вы пытаетесь сделать?
while IFS= read -r line; do
curl "...$line..."
done < <(awk '...')
кстати, ваш awk-скрипт:
awk -F"|" '{if ($4 > 100)print ""$1","$2",please check have many error respond MFS",$3,"count :",$4;'}''
должно быть:
awk -F'|' '$4 > 100{print $1 "," $2 ",please check have many error respond MFS", $3, "count :", $4}'
и ваш завиток, вероятно, должен быть чем-то вроде:
hostname="$(hostname)"
now="$(date +'%d%h%y_%H.%M.%S')"
curl -X GET "http://x.x.x.x:5000/submit_fajar.php?msg=\"${line}+${hostname}+${now}\""
с первыми 2 строками перед циклом, поэтому все должно быть примерно так:
#!/bin/env bash
hostname="$(hostname)"
now="$(date +'%d%h%y_%H.%M.%S')"
while IFS= read -r line; do
curl -X GET "http://x.x.x.x:5000/submit_fajar.php?msg=\"${line}+${hostname}+${now}\""
done < <(cat datafiles | strings | awk -F'|' '$4 > 100{print $1 "," $2 ",please check have many error respond MFS", $3, "count :", $4}')
при условии, что у вас есть причина для cat
.