Я не могу определить имена ваших мониторов, так что приспосабливайтесь к этой строке кода. xrandr --output (mon1) --left-of (mon2)
Если у вас есть фиксированные записи для нужных идентификаторов, вы можете использовать
for identifier in 1 10 20 30; do
grep -A 28 "INDEX : ${identifier}$" Test.txt
done
, когда у вас нет фиксированных идентификаторов, вы можете получить GREP без указания идентификатора:
grep -A 28 "^INDEX : " Test.txt
Я использую ^
Здесь для сопоставления линий индекса в начале линии.
Можно использовать grep
с -f
:
-f FILE, --file=FILE
Obtain patterns from FILE, one per line.
но для этого необходимо соответствующим образом отформатировать файл -идентификаторов
, например он должен выглядеть следующим образом:
INDEX : 1
INDEX : 10
..........
INDEX : 100
вместо:
1,10....100
Если Вы используете -
, то grep
grep
будет считывать шаблоны из stdin
, таким образом, в одном случае, с awk
(а также используя grep
с -x
, чтобы они совпадали со всей линией):
awk -F, '{for (i=1; i<=NF; i++) print "INDEX : "$i}' identifiers | grep -A28 -x -f - file
Если вы не хотите использовать ваш любимый инструмент для редактирования -идентификаторов
на месте, а затем запустить:
grep -A28 -x -f identifiers file
Если вы хотите избежать многократного прохождения ваших данных с заданным фиксированным подмножеством идентификаторов, это один из возможных способов (для примеров индексов 1, 2 , 10):
sed -n '/INDEX : \(1\|2\|10\)$/,+28p'