Подтвердить что ты не робот

Как получить первый столбец каждой строки из файла CSV?

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

4b9b3361

Ответ 1

Попробуйте следующее:

 awk -F"," '{print $1}' data.txt

Он разделит каждую строку ввода в файле data.txt на разные поля на основе символа , (как указано в -F) и напечатает первое поле (столбец) на stdout.

Ответ 2

Можно сделать:

$ cut -d, -f1 data.txt

Ответ 3

echo "a,b,c" | cut -d',' -f1 > newFile

Ответ 4

Вход

a,12,34
b,23,56

Код

awk -F "," '{print $1}' Input

Формат

awk -F <delimiter> '{print $<column_number>}' Input

Ответ 5

Это может быть достигнуто с помощью grep:

$ grep -o '^[^,]\+' file.csv

Ответ 6

Использование Perl:

perl -F, -lane 'print $F[0]' data.txt > data2.txt

Используются следующие параметры командной строки:

  • -n цикл вокруг каждой строки входного файла
  • -l удаляет новые строки перед обработкой и добавляет их обратно
  • -a автоматический режим - разделение входных строк на массив @F. По умолчанию разбивается на пробелы.
  • -e выполнить код perl
  • -F модификатор авторасширения, в этом случае разбивается на ,

Если вы хотите изменить исходный файл на месте, используйте параметр -i:

perl -i -lane 'print $F[0]' data.txt


Если вы хотите изменить исходный файл на месте и сделать резервную копию:

perl -i.bak -lane 'print $F[0]' data.txt


Если ваши данные разделены пробелами, а не разделены запятыми:

perl -lane 'print $F[0]' data.txt