Как сделать, что бы вывод был именно по 3м нужным параметрам?
dmidecode -t memory | grep -P "Speed|Factor|Size"
Как это можно форматнуть, что бы вывод был по каждой планке отдельно???
dmidecode -t memory | awk '/\tSize/{print ""}/Speed|Factor|Size/'
В идеале хотелось бы получить ... memory 1 ...
dmidecode -t memory | awk '/\tSize/{i++;print "memory "i}/\tSpeed|Factor|\tSize/'
Как структурировать вывод :
A=`cat /proc/cpuinfo | grep "cpu MHz"` echo $A
echo "$A"
И как это сделать в несколько столбиков, потому что 104 строки не умещаются в терминал tmux????
grep -f файл1 файл2
-f FILE, --file=FILE
Obtain patterns from FILE, one per line. If this option is used multiple times or is combined with the -e (--regexp) option, search for all patterns given. The empty file contains zero patterns, and therefore matches nothing.
Да, поиск по json
[
{"id": "5644561-46484-546545" , "number": "879876-5644561-546545" ,"reestr":"46878-6214-8794"},
{"id": "6644561-46484-546545" , "number": "979876-5644561-546545" ,"reestr":"56878-6214-8794"},
{"id": "7644561-46484-546545" , "number": "079876-5644561-546545" ,"reestr":"66878-6214-8794"}
]
$ jq -r '.[] | "\(.id): \(.reestr)"' file.json
5644561-46484-546545: 46878-6214-8794
6644561-46484-546545: 56878-6214-8794
7644561-46484-546545: 66878-6214-8794
$ jq -r '.[] | select(.id == "7644561-46484-546545") | "\(.id): \(.reestr)"' file.json
7644561-46484-546545: 66878-6214-8794
$ jq -r --arg ID "7644561-46484-546545" '.[] | select(.id == $ID) | "\(.id): \(.reestr)"' file.json
7644561-46484-546545: 66878-6214-8794
В скрипте bash я создаю переменную которая вытаскивает из этой строки S4BZJ045 следующим образом:
SystemName=$(cat server_out.db | grep 'SystemName' | awk '{print $2}' )
SystemName=$(awk '/SystemName/{printf $2}' server_out.db)
В ответ получаю NotOK, я понимаю, что проблема в лишних символах в переменной SystemName. Проверял через WC:
Структура файла примерно такая:
Нужно с помощью 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
$ head -n1 pro3.csv > proOUT.csv
$ awk -v N=1 -F"," '$N ~ /^[0-9]{11}$/ {print}' pro3.csv >> proOUT.csv