С помощью коллеги -я нашел источник проблемы (пользовательскую ошибку )и исправил ее (, удалив и должным образом переустановив Atom ).
TLDR:Убедитесь, что вы выполнили все инструкции по настройке Atom перед установкой Atom через Software Manager. Если вы этого не сделали, возможно, вам придется удалить/настроить/переустановить.
Что я сделал не так:Я неправильно понял инструкции по установке Atom и не смог правильно настроить Software Manager перед установкой, исходя из ложного предположения, что установка с помощью Software Manager была -универсальным средством.
Как я это исправил:Я удалил Atom и заново -установил после , следуя удобному пошаговому руководству по настройке Debian/Ubuntu на странице Инструкции по установке Atom . Оглядываясь назад, это кажется до боли очевидным, но, начиная с Windows, я привык к комплексным установщикам и автоматическим -обновлениям и не понимал цели процесса настройки.
При повторной установке -после правильной настройки команды оболочки работали правильно сразу после установки.
Почему не получилось с первого раза:Я не буду копировать -код вставки сюда (, пожалуйста, обратитесь к странице установки, указанной выше ),но подытожу, если концепции кому-то пригодятся. Инструкции по настройке, предоставляемые Atom, сообщают вашей системе, где искать официальный (и до -до -до -дата )репозиторий файлов Atom, чтобы при установке Atom он был настроен правильно.
Я не уверен, почему первоначальная установка Atom не работала должным образом. Вероятно, репозиторий Software Manager, на который указывалось из коробки, был неполным, устаревшим или иным образом содержал ошибки.
Если у кого-то есть лучшее решение, опубликуйте -этот подход потребовал от меня новой настройки редактора, что было не очень хорошо.
В вашем примере вы хотите добавить $COL
в конец каждой строки в строке, начинающейся с #
. Для этого простого случая вы можете просто сделать:
$ sed -E 's/(#[^#|]*)/\1$COL/g' file
name|class|colors|age|email
abc|xyz|#orange$COL#green$COL#pink$COL#blue$COL|16|abc@gmail.com
pqr|xyz|#orange$COL#green$COL#pink$COL#blue$COL|20|pqr@gmail.com
Или, если ваш sed
не поддерживает-E
:
sed 's/\(#[^#|]*\)/\1$COL/g' file
И вы можете использовать -i
для редактирования файла на месте:
sed -i -E 's/(#[^#|]*)/\1$COL/g' file
В более общем случае, чтобы заменить добавление $COL
к#
-разделенным строкам, но только в 3-м|
-разделенном поле, вы можете сделать:
$ awk -F'|' -vOFS='|' 'NR>1{gsub(/#[^#|]*/,"&$COL",$3)}1' file
name|class|colors|age|email
abc|xyz|#orange$COL#green$COL#pink$COL#blue$COL|16|abc@gmail.com
pqr|xyz|#orange$COL#green$COL#pink$COL#blue$COL|20|pqr@gmail.com
В более новых версиях GNU awk
вы можете использовать -i inplace
для редактирования файла на месте:
awk -iinplace -F'|' -vOFS='|' 'NR>1{gsub(/#[^#|]*/,"&$COL",$3)}1'
Наконец, просто для удовольствия, вы также можете использовать Perl для изменения всех#
-строк defend:
perl -pe 's/(#[^#|]+)/$1\$COL/g' file
или только для 3-го столбца:
perl -F'\|' -lane '$F[2]=~s/(#[^#|]+)/$1\$COL/g; print join "|",@F' file
или, чтобы сделать это только в 3-м столбце и пропустить 1-ю строку:
perl -F'\|' -lane '$F[2]=~s/(#[^#|]+)/$1\$COL/g if $.>1; print join "|",@F' file
В обоих случаях вы можете использовать -i
для редактирования файла на месте.