Проблемы с двумя мониторами Док-станция Linux Mint Thinkpad

Необходимо правильно установить разделитель полей (FS). По умолчанию awkиспользует любой горизонтальный пробел (s )в качестве разделителя полей, поэтому в вашем случае SAMSстановится одним полем, а CLUBстановится другим. Следовательно, {gsub("SAMS CLUB","SAM\'S CLUB",$3);print}не работает должным образом.

Вы можете:

awk -F ', +' '{gsub("SAMS CLUB","SAM'\''S CLUB",$3); print}' OFS=", " file.txt
  • -F ', +'задает FSкак запятую, за которой следует один или несколько пробелов (s ). Если вы не уверены в пробелах, вместо этого используйте класс символов [:blank:]для представления любых горизонтальных пробелов и измените OFSв соответствии с вашими потребностями.

Пример:

% cat file.txt                                                                      
column1, coluumn2, coulumn3, column4, column5
1, item1, WALMART, 2.39, 50
2, item2, TARGET, 4.99, 52
3, item3, SAMS CLUB, 8.19, 15
4, item4, KROGER, 12.49, 33
5, item6, WEGMANS, 32.69, 75
6, item6, TARGET, 12.99, 25
7, item7, SAMS CLUB, 8.19, 92

% awk -F ',[[:blank:]]+' '{gsub("SAMS CLUB","SAM'\''S CLUB",$3); print}' OFS=", " file.txt
column1, coluumn2, coulumn3, column4, column5
1, item1, WALMART, 2.39, 50
2, item2, TARGET, 4.99, 52
3, item3, SAM'S CLUB, 8.19, 15
4, item4, KROGER, 12.49, 33
5, item6, WEGMANS, 32.69, 75
6, item6, TARGET, 12.99, 25
7, item7, SAM'S CLUB, 8.19, 92
1
03.09.2019, 01:27
1 ответ

У меня была похожая проблема с моим T590 и док-станцией Thinkpad Ultra. Обновление прошивки док-станции и BIOS T590 помогло (см.https://pcsupport.lenovo.com/at/en).

А теперь плохие новости. :Мне пришлось делать это с помощью Windows, так как в настоящее время (Декабрь 2019 )Lenovo не предлагает способ обновления с использованием ОС, отличной от -Windows. Я не рискнул запустить это с помощью вина.

0
28.01.2020, 00:01

Теги

Похожие вопросы