Создание файла из другого файла на основе числового значения в каждой строке

Если вы хотите отобразить все вывод, но имеете файлы подобного типа, перечислены вместе, вы можете отсортировать вывод на первом символу каждой строки:

ls -l | sort -k1,1
0
09.03.2019, 14:16
2 ответа

Это можно сделать с помощью следующей команды.

awk -F "," ' $2 >= 577 ' filename.csv > create_files

Вы можете поместить все содержимое вышеуказанного содержимого в новый файл (я назвал новый файл как create_files ), и теперь вы можете создавать новые файлы из этого файла.

После выполнения вышеуказанной команды, поскольку вы не упомянули соглашение об именах файлов, я предположил, что первый столбец может выступать в качестве имени файла. Итак, вы можете использовать следующий подход:

awk -F "," '{ print $1 }' create_files | while read a; do touch $a; done

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

Однако я предполагаю, что первый столбец всегда будет уникальным. Если он не является уникальным, нам может потребоваться другой подход. Для этого вам нужно отредактировать свой вопрос и указать, какое соглашение об именах файлов вы планируете.

4
28.01.2020, 02:20

Единый магазин с awk, при условии, что столбец 1 уникален

awk -F "," '$2 >= 577 { print $0 > $1 }' my.csv
0
28.01.2020, 02:20

Теги

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