Ответ @kraxor использует sed, чтобы удалить «все остальное» из строки, а затем просто показать строку.
Но - что на самом деле «все остальное»? Здесь у нас есть идея, по крайней мере, из одной строки выборки. Но что, когда мы получаем строку заголовка CSV? Что удалить? В общем, мы не знаем.
Поэтому на самом деле лучше «все остальное» !
echo '345,0m0.047s' | sed -n -r 's/^(.*),.*[^0-9]([0-9]*)\.(.*)s$/\1,\2\3/p'
345,0047
Работает до сих пор!
Ответ @kraxor использует sed, чтобы удалить «все остальное» из строки, а затем просто показать строку.
Теперь некоторые другие вход, довольно нормальный, с двумя строками данных:
ID,execution_time
123, Oops a comment0m0.0333s
345,0m0.047s
Huh ?! Похоже на другой вход, довольно нормальный , на самом деле!
echo "ID,execution_time\n123, Oops a comment0m0.0333s\n345,0m0.047s" | sed -r -n 's/^(.*),.*[^0-9]([0-9]*)\.(.*)s$/\1,\2\3/p'
123,00333
345,0047
Выглядит хорошо и правильно!
Чтобы показать, что это имеет некоторые достоинства, чтобы сделать это таким образом, я сравню с более ранним ответом:
echo "ID,execution_time\n123, Oops a comment0m0.0333s\n345,0m0.047s" | sed 's/[0-9]*m\|s\|\.//g'
ID,execution_tie
123, Oop a coent00333
345,0047
Ok , фактические, чистые линии передачи данных прошли хорошо;
(Обратите внимание, что есть решение явно пропускать строку заголовка (или, может быть, первую строку данных, мы знаем?))
У вас есть репозиторий для Zesty enabled (archive.getdeb.com), который содержит пакеты в версиях, которые несовместимы с остальной частью вашей системы. Вам необходимо отключить этот репозиторий, обновить списки программного обеспечения и затем получить правильную версию.
Чтобы отключить репозиторий, найдите его строку в /etc/apt/sources.list или любом файле в /etc/apt/sources.list.d/ и удалите его или прокомментировать это, поставив # перед линией. Обратите внимание, что вам нужно sudo отредактировать эти файлы. Вы также можете сделать это через Системные настройки → Программное обеспечение и amp; Обновлен графический интерфейс. Обновите списки программного обеспечения, используя sudo apt update. Попробуйте снова установить пакет: sudo apt install warzon2100. Теперь он должен выбрать совместимую версию, и вам больше не придется сталкиваться с конфликтами.У вас есть репозиторий для Zesty enabled (archive.getdeb.com), который содержит пакеты в версиях, которые несовместимы с остальной частью вашей системы. Вам необходимо отключить этот репозиторий, обновить списки программного обеспечения и затем получить правильную версию.
Чтобы отключить репозиторий, найдите его строку в /etc/apt/sources.list или любом файле в /etc/apt/sources.list.d/ и удалите его или прокомментировать это, поставив # перед линией. Обратите внимание, что вам нужно sudo отредактировать эти файлы. Вы также можете сделать это через Системные настройки → Программное обеспечение и amp; Обновлен графический интерфейс. Обновите списки программного обеспечения, используя sudo apt update. Попробуйте снова установить пакет: sudo apt install warzon2100. Теперь он должен выбрать совместимую версию, и вам больше не придется сталкиваться с конфликтами.У вас есть репозиторий для Zesty enabled (archive.getdeb.com), который содержит пакеты в версиях, которые несовместимы с остальной частью вашей системы. Вам необходимо отключить этот репозиторий, обновить списки программного обеспечения и затем получить правильную версию.
Чтобы отключить репозиторий, найдите его строку в /etc/apt/sources.list или любом файле в /etc/apt/sources.list.d/ и удалите его или прокомментировать это, поставив # перед линией. Обратите внимание, что вам нужно sudo отредактировать эти файлы. Вы также можете сделать это через Системные настройки → Программное обеспечение и amp; Обновлен графический интерфейс. Обновите списки программного обеспечения, используя sudo apt update. Попробуйте снова установить пакет: sudo apt install warzon2100. Теперь он должен выбрать совместимую версию, и вам больше не придется сталкиваться с конфликтами.