Как добавить новый столбец с определенным словом в файл в Linux? - PullRequest
1 голос
/ 07 октября 2019

У меня есть файл с одним столбцом, содержащим 2059 идентификационных номеров.
Я хочу добавить второй столбец со словом «pop1» для всех 2059 идентификационных номеров.
Второй столбец будет означать, что идентификаторчисло принадлежит населению 1.

Как я могу это сделать, используя Linux с помощью awk или sed?

Файл в настоящее время имеет один столбец, который выглядит следующим образом

45958 
480585 
308494

Я хочу, чтобы это выглядело так:

45958 pop1
480585 pop1
308494 pop1

Ответы [ 2 ]

0 голосов
/ 07 октября 2019

Решение Perl.

$ perl -lpi -e '$_ .= " pop1"' your-file-name

Параметры командной строки:

  • -l: удалить символ новой строки из ввода и заменить его на выходе
  • -p:поместите каждую строку ввода в $_ и напечатайте $_ в конце каждой итерации
  • -i: редактирование на месте (перезаписать входной файл)
  • -e: запустить этокод для каждой строки ввода

Код ($_ .= " pop1") просто добавляет вашу строку во входную запись.

0 голосов
/ 07 октября 2019

Возможно, это не самое элегантное решение, и оно не использует sed или awk, но я бы сделал это:

while read -r line; do echo ""$line" pop1" >> newfile; done < test

Эта команда добавит материал в файл 'newfile', поэтому убедитесь, чточто он пуст или не существует до выполнения команды.

Вот ресурс, который я использовал при чтении файла строка за строкой: https://www.cyberciti.biz/faq/unix-howto-read-line-by-line-from-file/

...