Как удалить наносекунду из файла

Некоторые вещи меняются, а другие - нет. Одно из основных различий между разными дистрибутивами Linux - это управление пакетами программного обеспечения. Например, в мире Debian (Debian, Ubuntu, Mint и т. Д.) Используются dpkg и apt-get , а в мире Red Hat (RHEL, CentOS, openSuSe и т. Д.) Используется rpm. и другие могут использовать и другие инструменты. Основные идеи останутся прежними, но изменятся конкретные инструменты, которые вы используете для администрирования и установки программного обеспечения.

Такие вещи, как администрирование пользователей, безопасность, управление файлами и т. Д., Будут одинаковыми для всех дистрибутивов с незначительными эстетическими изменениями или без изменений вообще.

Так что да, некоторые вещи изменятся, а другие - нет. Однако компетентный системный администратор Linux сможет очень быстро изучить новую систему, поскольку большинство изменений касается инструментов более высокого уровня, используемых для администрирования установленных пакетов.

0
17.08.2018, 12:59
2 ответа

Попробуйте

sed 's/:[[:digit:]]*,/,/' file
ip,time,name
1.1.1.1,2018-08-17 15:05:52,1.13.0-0007
1.1.1.2,2018-08-17 15:05:52,1.13.0-0007

он заменит последнее двоеточие, последующие цифры и последнюю запятую только запятой.

0
28.01.2020, 04:13
awk -F',' -vOFS=',' '{sub(/:[0-9]{9}$/, "", $2); print}' input.txt

Выход:

ip,time,name
1.1.1.1 2018-08-17 15:05:52 1.13.0-0007
1.1.1.2 2018-08-17 15:05:52 1.13.0-0007

Пояснение

  • awk -F',' -vOFS=',' '{foo}' input.txt:используйте awkс разделителем полей (и выходным разделителем полей ),, запуская команды foo, в файле input.txt.
  • sub(/:[0-9]{9}$/, "", $2);:для второго поля $2заменить регулярное выражение:[0-9]{9}$(т.е. девять цифр подряд в конце поля )ничем.
  • print:напечатать новую строку
0
28.01.2020, 04:13

Теги

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