Добавить во второй столбец
Есть CSV-файл
ip,time,name 1.1.1.1,2018-08-31 10:01:03,postgres 2.1.1.1,2018-08-31 12:51:13,oracle 3.1.1.1,2018-08-31 14:32:53,sql
Мне нужен вывод, как показано ниже
- добавление строки в файл, если она отсутствует
- Как я извлекаю пути к файлам из текстового файла?
- Как записать в новый файл, если есть вхождения в другом?
- Измените все, кроме первого «,» на «» для каждой строки в файле (bash)
- поиск шаблонов пар с использованием awk
ip,time,name 1.1.1.1,2018-08-31 10:01:03.1,postgres 2.1.1.1,2018-08-31 12:51:13.1,oracle 3.1.1.1,2018-08-31 14:32:53.1,sql
- Удалить строковый файл после пробела
- Сед условное удаление ЭОЛ
- grep'ping файлы для нескольких строк (не в одной строке)
- Вывести обе строки при изменении столбца
- искать шаблон и всегда печатать первую строку, содержащую cn
- Как обработать несколько строк столбца
- Заменить строку в одном файле содержимым другого файла при совпадении столбца
- Печать n-го диапазона с помощью sed
2 Solutions collect form web for “Добавить во второй столбец”
Используя sed
:
$ sed '2,$s/,/.1,/2' file ip,time,name 1.1.1.1,2018-08-31 10:01:03.1,postgres 2.1.1.1,2018-08-31 12:51:13.1,oracle 3.1.1.1,2018-08-31 14:32:53.1,sql
Это применяет замену к строке 2 и далее ( 2,$
). Подстановка s/,/.1,/2
заменяет вторую запятую на .1,
Это /2
в конце команды замещения, которая заставляет его перейти ко второму совпадению.
Использовать этот:
awk -F, 'BEGIN{OFS=","} NR>1{$2=$2".1"}1' file
-
-F,
устанавливает разделитель поля ввода -
BEGIN{OFS=","}
устанавливает разделитель выходного поля -
NR>1{$2=$2".1"}
добавляет.1
если номер строки больше 0 во второе поле
- Выполнить SSH удаленного cmd exec на нескольких локальных серверах с ввода (sshpass?)
- Почему kernel Linux поддерживает «umount /»?