bash их не увидит если я перезапущу терминал и не введу эту команду
fping -l IP1 IP2 IP3 IP4
fping -l IP1 IP2 IP3 IP4 &> ip.log.txt
mtr 8.8.8.8
echo -e "IP1\nIP2\nIP3\nIP4" | mtr -rw -F - > mtr-report
while fping -q 8.8.8.8 ; do echo "Ok";sleep 2; done && echo "Связь пропала" && fping -l IP1 IP2 IP3 IP4 &> ip.log.txt
Структура файла примерно такая:
Нужно с помощью bash достать список пакетов из файла /var/log/pacman.log
awk '$4=="installed" || $4=="removed" {print i++,$4,$5}' /var/log/pacman.log |sort -k3 -k1n |sed '$a\\' |awk '{if (a=="installed" && b!=$3) print b;a=$2;b=$3}' > packages.all.txt
varJson='[
{
"id": 1296269,
"name": "Hello-World",
"full_name": "octocat/Hello-World",
"created_at": "2011-01-26T19:01:12Z",
"updated_at": "2011-01-26T19:14:43Z"
},
{
"id": 1296270,
"name": "Hello-World2",
"full_name": "octocat/Hello-World2",
"created_at": "2011-01-26T19:01:12Z",
"updated_at": "2011-01-26T19:14:43Z"
}
]'
echo "$varJson" | jq -r '.[] | "\(.name) \(.created_at)"'
Hello-World 2011-01-26T19:01:12Z
Hello-World2 2011-01-26T19:01:12Z
• Писать в файл.
Тогда придётся писать просматривающую программу с бесконечным циклом, отслеживанием разницы, уделанием. Думаю, это жирно для такой задачи.
tail -f ФАЙЛ
mkfifo fileFIFO #создать файл(именованный канал) fifo
exec 4<>fileFIFO #открыть дескриптор файла на чтение/запись
echo Test1 >&4
...
echo TestN >&4
exec 4>&- #закрыть
cat fileFIFO
Моя первая цель взять IP и порты ...
... | awk -F'[ ,:]' '{print $2,$3}'
192.168.101.79 7001
192.168.101.79 7000
192.168.101.79 7000
Если кто-то знает как можно еще минимизировать и ускорить код, прошу показать)
read -e -n 1 -p "ответ ? [Y/n] " y
if [[ "$y" =~ ^[y,Y] ]]
then echo "OK"
else echo "NO"
fi
read -e -n 1 -p "ответ ? [Y/n] " y
if [[ $y =~ [yY] ]]
then echo "OK"
else echo "NO"
fi