Вы можете отформатировать эти данные с помощью sed
, чтобы их было легче проанализировать с помощью awk
. например:
$ sed 's/"//g' awktest1.txt
field1|field2|field3
field1|field2|field2|field3
$ sed 's/"//g' awktest1.txt > awktest2.txt
$ awk 'BEGIN {FS = "|"} ; {print $2}' awktest2.txt
field2
field2
Но опять же, я не знаю природы данных, с которыми вы работаете.
У меня также была эта проблема в различных дистрибутивах Linux, и я создал сценарий, который копирую в системы, в которых я сталкиваюсь с этой проблемой. проблема с постоянством, поскольку не все файлы конфигурации созданы одинаковыми или даже присутствуют в некоторых вариантах ОС Linux; однако я обнаружил, что обе утилиты для запроса и установки режимов присутствуют ('cvt' и 'xrandr' ).
Прежде всего вам нужно определить параметры, которые нужно установить с помощью «xrandr», что вы сделаете с «cvt», выполнив следующее в окне терминала. Во-первых, получите данные из «xrandr», как у вас уже есть. Когда я запускаю «xrandr», он возвращает следующее:
xrandr
Screen0: minimum 1024 x 768, current 1024 x 768, maximum 1024 x 768 default connected primary 1024x768+0+0 0mm x 0mm 1024x768 76.00*
Единственная информация, которая вам действительно нужна из этого блока выше, — это имя устройства, Screen0 , которое я помещу в приведенный ниже код для вашего удобства. Обязательно измените любые данные, которые вы получаете от xrandr и cvt, которые отличаются от моих результатов, поскольку ваше оборудование отличается и может возвращать другие параметры.
Вам необходимо получить данные от cvt.:
cvt 1600 900
Это должно вернуть что-то вроде:
# 1600x900 59.95 Hz (CVT 1.44M9) hsync: 55.99 kHz; pclk: 118.25 MHz Modeline "1600x900_60.00" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync
Вам понадобятся данные Modeline от кавычек до конца «vsync»
При этом, если бы я делал это с таким разрешением и оборудованием, которое у меня есть, я бы поместил в скрипт следующее и сохранил его как что-то вроде «fixmyres.sh»
# Resolution fix for 1600x900 - changes to 1600x900 with cvt calculation
xrandr --newmode "1600x900_60.00" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync
xrandr --addmode Screen0 1600x900_60.00
xrandr --output Screen0 --mode 1600x900_60.00
и установите его как исполняемый файл:
chmod a+x fixmyres.sh
затем запустите его
./fixmyres.sh
Я поместил файл на рабочий стол, так как результаты использования файла Xorg (s )оказались противоречивыми.